Flex 3.5: не удается получить дочерние элементы VBOX внутри навигатора вкладок - PullRequest
1 голос
/ 05 декабря 2011

У меня есть 2 VBox внутри tabNavigator.

Интересующий меня фрагмент кода VBox:

<mx:TabNavigator  id ="tabNav">

<mx:VBox label="Class Details" name="clsDetail" id="ClsDetails" height="301" width="300" >
       <mx:FormItem label="PropID"  name="PropoId" id="propoIDForm" direction="horizontal">
            <mx:NumericStepper id="propagatedIDInput" name ="objId"  minimum="0" maximum="100" stepSize="1" width="65"/>
       </mx:FormItem>

<mx:FormItem label="Difficulty" direction="horizontal">
                    <mx:RadioButtonGroup id="difficulty"/>
                    <mx:RadioButton label="Easy" groupName="difficulty" value="1"/>
                    <mx:RadioButton label="Medium" groupName="difficulty" value="2"/>
                    <mx:RadioButton label="Hard" groupName="difficulty" value="3"/>
          </mx:FormItem>

</mx:VBox>
</mx:TabNavigator>

Я пытаюсь установить время выполнения числового шагового двигателя и не могу этого сделать. Пробовал 2 подхода

Approach 1: iterate through children and get the one

   var VBoxChildren:Array = ClsDetails.getChildren();
   for each(var currentFormItem:FormItem in VBoxChildren)
    {
     var FormChildren:Array = currentFormItem.getChildren(); //somehow it is becoming null
       for each(var currentItem:* in FormChildren) //doesn't go in since the array is null)
            {
              if(currentItem is NumericStepper)
                {
                 (currentItem as NumericStepper).value = int(markedObject.propagatedID);
                }
            }
      }

Approach 2: try to get children byname

  var myVBox:VBox = tabNav.getChildByName("clsDetail") as VBox;

   var frmItem:FormItem = myVBox.getChildByName("PropoId") as FormItem;//issue it becomes null ..somhownot able to get this children even though it is visible when I debug

    var  objId:NumericStepper = frmItem.getChildByName("objId") as NumericStepper; undefined as above is null

Я не уверен, что мне здесь не хватает ... наиболее ценные предложения !!

Thanks
Akshay

1 Ответ

0 голосов
/ 05 декабря 2011

Я разместил свой вопрос на форуме Adobe, и ответ решил его ... на самом деле проблема отложенной реализации не заключалась в установке моих дочерних компонентов внутри tabnavigator, а просто в VBox (первый дочерний элемент) ...

Все, чего мне не хватало, - это установить creationPolicy = all (как объяснено в моих комментариях выше) ... и это работало как шарм.

Вот хорошее прочтение на PureMVC об отложенной установке компонентов Flex http://puremvc.org/content/view/91/188/

...