Невозможно обновить управление деревом новыми ветвями из успешного вызова RemoteObject.
Я пытаюсь заполнить компонент mx:tree значениями, которые я получаю из BlazeDS. Возвращенные данные из BlazeDS в порядке - это ArrayCollection объектов-значений папок.
Мне дали указание использовать Cairngorm для этого проекта. Я довольно новичок в Flex и Cairngorm. В соответствии с ограниченной документацией, которую я прочитал онлайн, я должен заполнить модель данными, чтобы я поместил туда коллекцию массивов.
То, что я застрял, пытается обновить компонент дерева. Я чувствую, что мне нужен какой-то способ уведомить компонент контейнера для дерева о том, что данные (то есть подпапки) доступны в модели. Я надеялся, что можно было бы запустить функцию в компоненте контейнера, чтобы добавить подпапки в качестве дочерних элементов выбранного узла (я могу предположить это на модели до вызова удаленного объекта), а затем запустить tree.invalidateList() и tree.validateNow(). Есть идеи?
1 ответ
Я нашел способ сделать это, хотя я не уверен, что это рекомендуемый способ.
Я получил класс Command, чтобы прикрепить ArrayCollection VO Folder к свойству под названием "подпапки" в модели. Я использовал ChangeWatcher в родительском контейнере дерева, чтобы просмотреть свойство подпапок модели и запустить функцию обновления узла дерева, когда это необходимо.
Если кто-то знает, как лучше, расскажите, пожалуйста. Я надеялся найти кулинарную книгу Cairngorm или статью о лучших практиках, но я еще не сталкивался с такой вещью. Документация Cairngorm кажется довольно скудной - я удивлен, что это самый популярный фреймворк Flex, учитывая этот факт.