Flex Spark List не обновляется, недостающие элементы - PullRequest
1 голос
/ 04 апреля 2011

У меня есть Spark.List с несколькими элементами («папками»), каждый из которых содержит ArrayList файлов внутри. Когда я выбираю одну из этих «папок», он должен отображать список «файлов» в другом Spark.List.Это работает прямо сейчас, выполняя это:

private function onFolderChange (event:*):void {
    var list:List = event.currentTarget as List;

    if (list.selectedIndex != -1) {
        currentFolder = null;
        currentFolder = list.selectedItem;

        fileListDataProvider = currentFolder.files;
        fileList.selectedIndex = -1;
    }
}

Проблема в том, что, когда миниатюры «файла» покрывают больше, чем область просмотра списка, и иногда требуется прокрутка, переходя из «папки» в другую »"Список файлов теряет файлы.

Например, допустим, есть «Папка 1» с 30 «файлами» в ней (10 видимых и 20 скрытых скроллером), а «Папка 2» имеет 5 «файлов» (все видимые), еслиЯ переключаюсь назад и вперед между «папками», иногда он отображает все правильно, иногда он отображает прокрутку «Папка 2», когда в этом нет необходимости, а иногда он отображает только несколько (5 или 10) «файлов» вПапка 1 ", хотя она имеет 30.

Что-то не так с fileList, он обновляет свои элементы, но не очень хорошо обновляется.Я попытался установить для itemRenderer значение null и повторно применить, установить для dataProvider значение null и повторно применить, делая validateNow () .... Я вроде как потерян.

Есть мысли?

1 Ответ

1 голос
/ 04 апреля 2011

Почему вы не используете прямую привязку данных?

<s:List id="folders" dataProvider="{folderList}" />
<s:List id="files" dataProvider="{folders.selectedItem?folders.selectedItem.files:null}" />

Для вашей проблемы попробуйте поиграть с useVirtualLayout или updateDisplayList() ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...