如何遍历具有不同视图的小部件
How to iterate through widgets with different Views
我是 flutter 的初学者。我有四个具有不同视图的小部件,即 BarChart, LineChart, StackedBarChart and CircularChart
。然后我创建了一个列表
final List<Widget> widgetList = <Widget>[
BarChartWidget(), LineChartWidget(), StackedBarChartWidget(), CircularChartWidget(),];
如何在 ListView 中遍历此小部件的列表
body: new ListView.separated(
itemCount: entries.length,
padding: EdgeInsets.all(8.0),
itemBuilder: (BuildContext context, int index) {
return Container(
height: 150,
color: Colors.amber[colorCodes[index]],
child: new widgetList[index],
);
},
separatorBuilder: (BuildContext context, int index) => const Divider(),
)
);
你快到了。问题是:
child: new widgetList[index],
这不是有效的语法。您不能 "new" widgetList
,因为它是一个变量。
就这样:
child: widgetList[index],
这是最终语法:
new ListView.separated(
itemCount: entries.length,
padding: EdgeInsets.all(8.0),
itemBuilder: (BuildContext context, int index) {
return Container(
height: 150,
color: Colors.amber[colorCodes[index]],
child: widgetList[index],
);
},
separatorBuilder: (BuildContext context, int index) => const Divider(),
);
我是 flutter 的初学者。我有四个具有不同视图的小部件,即 BarChart, LineChart, StackedBarChart and CircularChart
。然后我创建了一个列表
final List<Widget> widgetList = <Widget>[
BarChartWidget(), LineChartWidget(), StackedBarChartWidget(), CircularChartWidget(),];
如何在 ListView 中遍历此小部件的列表
body: new ListView.separated(
itemCount: entries.length,
padding: EdgeInsets.all(8.0),
itemBuilder: (BuildContext context, int index) {
return Container(
height: 150,
color: Colors.amber[colorCodes[index]],
child: new widgetList[index],
);
},
separatorBuilder: (BuildContext context, int index) => const Divider(),
)
);
你快到了。问题是:
child: new widgetList[index],
这不是有效的语法。您不能 "new" widgetList
,因为它是一个变量。
就这样:
child: widgetList[index],
这是最终语法:
new ListView.separated(
itemCount: entries.length,
padding: EdgeInsets.all(8.0),
itemBuilder: (BuildContext context, int index) {
return Container(
height: 150,
color: Colors.amber[colorCodes[index]],
child: widgetList[index],
);
},
separatorBuilder: (BuildContext context, int index) => const Divider(),
);