【发布时间】:2019-04-28 15:52:59
【问题描述】:
我有一个由多个部分组成的页面,每个部分都包含一个标题和文本列表。我希望整个系列作为一个系列统一滚动,并且想知道如何最好地分解这种逻辑。想象一下下面的小部件树:
ListView(
children: <Widget>[
Text('Section 1 Header'),
Text('Section 1 List Item 1'),
Text('Section 1 List Item 2'),
Text('Section 2 Header'),
...
]
)
就干净地构建它的帮助函数而言,类似以下的东西会很好:
ListView(
children: <Widget>[
Text('Section 1 Header'),
_buildSection1ListItems(),
Text('Section 2 Header'),
]
)
_buildSection1ListItems() 如下所示:
List<Widget> _buildSection1ListItems() {
return [
Text('Section 1 List Item 1'),
Text('Section 1 List Item 2'),
];
}
而且不喜欢以下内容:
Widget _buildSection1ListItems() {
return Expanded(
child: Column(
children: <Widget>[
Text('Section 1 List Item 1'),
Text('Section 1 List Item 2'),
]
)
);
}
到目前为止,我所想出的只是明显的第二种解决方案,但它引入了许多纯粹受业务逻辑重构细节影响的无聊小部件,而不是用于显示内容的实际、理想的小部件树。
在 Flutter 中有这样的模式吗?
【问题讨论】:
标签: dart flutter flutter-layout