У меня есть пользовательский компонент в повторителе.Этот компонент имеет дочерний компонент, который может быть двух типов в зависимости от некоторых условий.Я использовал UIComponent в качестве заполнителя.
В повторном компоненте, скажем, RepeatedComponent:
<mx:VBox>
<mx:UIComponent id="placeHolder"/>
</mx:VBox>
И я делаю это в компоненте, имеющем повторитель:
// Function where I try to inject the child component :
private function getComponent():UIComponent{
if(condition)
{
return new ChildComponentA();
}
else
{
return new ChildComponentB();
}
]]>
</mx:Script>
<mx:VBox>
<mx:Repeater id="repeteur"
recycleChildren="true"
dataProvider="{arrayBeneficiaires}" >
<components:RepeatedComponent id="repeatedComponent"
beneficiaire="{repeteur.currentItem}"
placeHolder="{getComponent()}"/>
</mx:Repeater>
</mx:VBox>
Когда я размещаю точки останова в функциях, вызываемых в creationComplete, я вижу, что компонент, назначенный для placeHolder, является правильным, но он не отображается на моем дисплее.Я попытался обновить, вызывая invalidateDisplayList в каждом месте, о котором я могу думать, но это, похоже, не работает.Любые идеи будут приветствоваться.
Спасибо