How to spread a list in dart
Update - 20th April 2019
You can now use the spread operator since Dart 2.3 was released.
List<int> a = [0,1,2,3,4];
List<int> b = [6,7,8,9];
List<int> c = [...a,5,...b];
You can now do spreading from Dart 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]
There is an issue to add this to future version of dart https://github.com/dart-lang/language/issues/47
but for now you can use sync*
and yield*
Iterable<Widget> _buildChildren sync* {
yield MyHeader();
yield* _buildListOfWidgetForBody();
yield MyCustomFooter();
}
EDIT: As of Dart 2.3 you can now do:
Widget build(BuildContext context) {
return Column(
children: <Widget>[
MyHeader(),
..._buildListOfWidgetForBody(),
MyCustomFooter(),
],
);
}