Невозможно обновить управление деревом новыми ветвями из успешного вызова RemoteObject.

Я пытаюсь заполнить компонент mx:tree значениями, которые я получаю из BlazeDS. Возвращенные данные из BlazeDS в порядке - это ArrayCollection объектов-значений папок.

Мне дали указание использовать Cairngorm для этого проекта. Я довольно новичок в Flex и Cairngorm. В соответствии с ограниченной документацией, которую я прочитал онлайн, я должен заполнить модель данными, чтобы я поместил туда коллекцию массивов.

То, что я застрял, пытается обновить компонент дерева. Я чувствую, что мне нужен какой-то способ уведомить компонент контейнера для дерева о том, что данные (то есть подпапки) доступны в модели. Я надеялся, что можно было бы запустить функцию в компоненте контейнера, чтобы добавить подпапки в качестве дочерних элементов выбранного узла (я могу предположить это на модели до вызова удаленного объекта), а затем запустить tree.invalidateList() и tree.validateNow(). Есть идеи?

1 ответ

Решение

Я нашел способ сделать это, хотя я не уверен, что это рекомендуемый способ.

Я получил класс Command, чтобы прикрепить ArrayCollection VO Folder к свойству под названием "подпапки" в модели. Я использовал ChangeWatcher в родительском контейнере дерева, чтобы просмотреть свойство подпапок модели и запустить функцию обновления узла дерева, когда это необходимо.

Если кто-то знает, как лучше, расскажите, пожалуйста. Я надеялся найти кулинарную книгу Cairngorm или статью о лучших практиках, но я еще не сталкивался с такой вещью. Документация Cairngorm кажется довольно скудной - я удивлен, что это самый популярный фреймворк Flex, учитывая этот факт.

Другие вопросы по тегам