Как правильно изменить элементы управления DetailsList? - PullRequest
0 голосов
/ 07 апреля 2020

Я создаю компонент выбора документа, используя ответную реакцию, и заполняю его данными из API microsoft графиков rest api. Проблема, с которой я сталкиваюсь, заключается в том, как контролировать глобальное состояние выбора всех выбранных файлов и папок.

Допустим, у меня есть иерархия документов, например, так:

Documents
|-file1.txt
|-file2.txt
|-folder1
  |
  |-file3.txt
  |-file4.txt
  |-folder2

В DetailsList я отображаю текущий содержимое папки (Documents, folder1, folder2). При нажатии другой папки я заполняю DetailsList новыми данными. Пройдя по дереву, я хочу собрать все элементы, которые были выбраны, а не только выбранную папку.

Я создал CodePen, чтобы проиллюстрировать мою проблему: https://codepen.io/aleksandraszagorskas-emac/pen/XWmraxB?editors=1010

Я пытаюсь решить эту проблему, чтобы иметь текущее состояние страницы (содержимое папки), которое отображается в DetailsList, и состояние страниц для глобального выбора. Когда я пересекаю дерево документа, я могу либо go перейти на новую страницу (загрузить новую страницу в currentPage и добавить ее в коллекцию страниц), либо go на существующую страницу (получить currentPage из коллекции страниц). Затем я могу получить выбранные элементы currentPage из объекта currentPage и все выделения из объекта страниц. Однако я изо всех сил стараюсь корректно обновлять свою текущую страницу и коллекцию страниц.

Некоторые рекомендации будут с благодарностью.

...