J'ai une interface MXML Flex qui construit un ensemble de boutons radio à l'aide du composant Repeater
:Y at-il un moyen de choisir un composant MXML au moment de la construction de l'interface utilisateur en fonction de la valeur d'un champ?
<mx:Repeater id="radios"
dataProvider="{_lists.(@id == [email protected]_list).group.listItem}">
<mx:RadioButton groupName="responses"
label="{[email protected]}"
data="{[email protected]}"/>
</mx:Repeater>
Ce que je veux faire est d'avoir le composant dans le répéteur - le RadioButton
dans cet exemple - être choisi en fonction de la valeur d'une propriété de radios.currentItem
: Si la valeur de currentItem
est "foo", par exemple, je veux un Button
là, ou si c'est "bar" je veux un RadioButton
. Est-il possible d'effectuer ce type de construction conditionnelle dans un composant MXML, ou dois-je revenir à ActionScript pour le faire?
Je pense à quelque chose le long de ces lignes:
<mx:Repeater id="r" dataProvider="{list}">
<mx:If test="{[email protected] == 'radio'}">
<mx:RadioButton label="{[email protected]}" />
</mx:If>
<mx:If test="{[email protected] == 'specify'}">
<custom:Specify label="{[email protected]}" />
</mx:If>
</mx:Repeater>
Donc, je suis coincé la création de composants à la main, ce qui signifie que je dois gérer toutes les liaisons de données à la main aussi, non? Quelle est la meilleure façon d'accomplir cela? –