gpt4 book ai didi

dart - 如何在 Flutter 中返回 Widget 列表的一部分

转载 作者:IT王子 更新时间:2023-10-29 06:54:22 26 4
gpt4 key购买 nike

我有一个由多个部分组成的页面,每个部分由一个标题和文本列表组成。我希望整个系列作为一个系列统一滚动,并且想知道如何最好地分解这种逻辑。想象一下下面的小部件树:

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 2.2.2 或更高版本,您可以使用扩展运算符:

ListView(
children: <Widget>[
Text('Section 1 Header'),
..._buildSection1ListItems(),
Text('Section 2 Header'),
]
)

关于dart - 如何在 Flutter 中返回 Widget 列表的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53490661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com