Flutter 中的可折叠列表小部件有哪些选项?
What are the options of collapsable list widgets in Flutter?
我需要在我的项目中按主题折叠一些列表,我想知道我是需要从零开始实现它还是使用 flutter 中的组件。这个组件存在吗?
提前致谢:)
Flutter Gallery 有两个可能与您的 accordion-like 列表相关的示例。
Expansion Panel Demo & Two-level List Demo
扩展面板演示可能就是您想要的。如果是这样,请查看演示如何利用 ExpansionPanel and uses a headerBuilder
and body
. You can extends this to make the header and bodies as complex as you need. The Gallery demo adds a DemoItem 帮助程序 class。您可以使用此模式或想出您自己的设计。
这是一个片段,通过传递回调和 DemoItem
s 的列表显示使用 ExpansionPanelList
的演示:
child: new ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_demoItems[index].isExpanded = !isExpanded;
});
},
children: _demoItems.map((DemoItem<dynamic> item) {
return new ExpansionPanel(
isExpanded: item.isExpanded,
headerBuilder: item.headerBuilder,
body: item.build()
);
}).toList()
),
我需要在我的项目中按主题折叠一些列表,我想知道我是需要从零开始实现它还是使用 flutter 中的组件。这个组件存在吗?
提前致谢:)
Flutter Gallery 有两个可能与您的 accordion-like 列表相关的示例。
Expansion Panel Demo & Two-level List Demo
扩展面板演示可能就是您想要的。如果是这样,请查看演示如何利用 ExpansionPanel and uses a headerBuilder
and body
. You can extends this to make the header and bodies as complex as you need. The Gallery demo adds a DemoItem 帮助程序 class。您可以使用此模式或想出您自己的设计。
这是一个片段,通过传递回调和 DemoItem
s 的列表显示使用 ExpansionPanelList
的演示:
child: new ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_demoItems[index].isExpanded = !isExpanded;
});
},
children: _demoItems.map((DemoItem<dynamic> item) {
return new ExpansionPanel(
isExpanded: item.isExpanded,
headerBuilder: item.headerBuilder,
body: item.build()
);
}).toList()
),