如何在dart中展开列表
在Javascript中,我将使用一个扩展运算符: 现在我对颤振也有同样的问题:如何在dart中展开列表,dart,flutter,Dart,Flutter,在Javascript中,我将使用一个扩展运算符: 现在我对颤振也有同样的问题: Widget build(BuildContext context) { return Column( children: <Widget>[ MyHeader(), _buildListOfWidgetForBody(), // <- how to spread this <Widget>[] ???? MyCu
Widget build(BuildContext context) {
return Column(
children: <Widget>[
MyHeader(),
_buildListOfWidgetForBody(), // <- how to spread this <Widget>[] ????
MyCustomFooter(),
],
);
}
小部件构建(构建上下文){
返回列(
儿童:[
MyHeader(),
_buildListOfWidgetForBody(),//将其添加到dart的未来版本时出现问题
但是现在你可以使用sync*
和yield*
Iterable<Widget> _buildChildren sync* {
yield MyHeader();
yield* _buildListOfWidgetForBody();
yield MyCustomFooter();
}
Iterable\u buildChildren同步*{
产生MyHeader();
屈服*_buildListOfWidgetForBody();
产生MyCustomFooter();
}
编辑:从Dart 2.3开始,您现在可以执行以下操作:
Widget build(BuildContext context) {
return Column(
children: <Widget>[
MyHeader(),
..._buildListOfWidgetForBody(),
MyCustomFooter(),
],
);
}
小部件构建(构建上下文){
返回列(
儿童:[
MyHeader(),
…\u buildListOfWidgetForBody(),
MyCustomFooter(),
],
);
}
更新-2019年4月20日
自从发布了Dart 2.3以来,您现在可以使用spread操作符
List<int> a = [0,1,2,3,4];
List<int> b = [6,7,8,9];
List<int> c = [...a,5,...b];
列表a=[0,1,2,3,4];
列表b=[6,7,8,9];
列表c=[…a,5,…b];
您现在可以从飞镖2.3进行撒布
var a = [0,1,2,3,4];
var b = [6,7,8,9];
var c = [...a,5,...b];
print(c); // prints: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
您可能需要为具有Ruby背景的人读取关键字:splat操作符[*[1,2],3]