Есть ли способ создания вложенных ящиков во флаттере? - PullRequest
0 голосов
/ 26 апреля 2019

Мы пробовали Flutter и искали способы показать пользователю текущий стек навигации, а также позволить им быстро перейти к любой точке в текущем стеке.

Мой текущий подход к этому состоит в отображении серии вложенных ящиков.

Таким образом, возможен случай использования: начальный ящик отображает список континентов, пользователь нажимает на Европу, другой ящик выдвигается из-под ящика континента, чтобы показать список стран, а затем, возможно, другой ящик, показывающий штаты / провинции и т. д.

Так что это должно выглядеть примерно так: enter image description here

В настоящее время я пытаюсь понять, как реализовать это, используя Drawers. Ящики даже лучший подход к этому? Возможно управлять строкой с ящиками, как дети?

Или, может быть, мне стоит подумать о развертывании своей собственной реализации, контролируя, как выглядит группа интерактивных ListView, или что-то в этом роде.

1 Ответ

0 голосов
/ 26 апреля 2019

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

Флаттер Drawer документация гласит:

Ящики обычно используются со свойством Scaffold.drawer.

А свойство Scaffold.drawer принимает только 1 Widget:

выдвижной ящик → Виджет

Панель, отображаемая сбоку корпуса, часто скрытая на мобильных устройствах.Смахивает слева направо (TextDirection.ltr) или справа налево (TextDirection.rtl) [...] final

То есть вы можете использовать только 1 Drawer вэто свойство.А класс Drawer не имеет свойства ящика.

Возможно, использование ExpansionPanel и ExpansionPanelList позволит вам свернуть и развернутьОстальные варианты.Позволяет вам приблизиться к нужной функциональности.

Существует также плагин , расширяемый 2.1.1 , который говорит:

Expandable не следует путать сExpansionPanel.ExpansionPanel, который является частью библиотеки материалов Flutter, предназначен для работы только в пределах ExpansionPanelList и не может использоваться для создания других виджетов, например, расширяемых виджетов для карт.

Предоставление вам большегосвобода использования разных Widgets с.

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