Расширенная ветка не показывает своих потомков впервые в Flex Tree? - PullRequest
0 голосов
/ 11 февраля 2011

Я добавил обработчик события itemOpening для компонента дерева внутри обработчика: ido myTree.selectedItem = event.item;и затем добавьте новые данные в myTree.selectedItem.children.push (newData);Но он не показывает одновременно, вместо этого я должен закрыть, снова открыть ветку, чтобы увидеть новые данные.Я думаю, что мне нужно что-то обновить после добавления новых данных, но не знаете что?ниже приведен код, но без объявления, тега сценария и т. д.

<services:DocumentService id="$document"/>
        <s:CallResponder id="$newFolderAdded" result="$newFolderAdded_resultHandler(event)"/>


     <mx:Tree  id="myTree" width="100%" height="60%" creationComplete="myTree_creationCompleteHandler(event)"
                 labelField="name" itemOpening="myTree_itemClickHandler(event)" />

    protected function myTree_itemClickHandler(event:TreeEvent):void
                {
                     myTree.selectedItem = event.item;
                    if(event.item.hasOwnProperty('children'))
                   {
                       $newFolderAdded.token =  $document.getDirectDecendents(event.item);

                   }
                }

        protected function $newFolderAdded_resultHandler(event:ResultEvent):void
                {
                    for each(var folder:Object in event.result)
                    {
                    myTree.selectedItem.children.push(Object(folder));

                    }


                }

1 Ответ

1 голос
/ 11 февраля 2011

Попробуйте аннулировать данные дерева, вызвав:

myTree.invalidateList();
...