除了内容和索引,我想将额外的参数传递给我的itemBuilder函数。我该怎么办?
body: new ListView.builder
(
itemCount: litems.length,
itemBuilder: (BuildContext ctxt, int index) {
return new Text(litems[index]);
}
)
我想要做些什么:
int k = "HI";
body: new ListView.builder
(
itemCount: litems.length,
itemBuilder: (BuildContext ctxt, int index, String k) {
return new Text(litems[index] + k);
}
)
答案 0 :(得分:2)
没有必要。
您可以从构建器函数体内直接访问k
,而无需将其作为参数传递。
您传递了一个内联函数,该函数可以访问定义它的作用域。
如果您没有内联生成器函数,并且希望/需要传递其他参数,则可以使用
String k = "HI";
child: new ListView.builder(
itemCount: litems.length,
itemBuilder: (ctxt, Index) => _listItemBuilder(ctxt, Index, k)
)
...
Widget _listItemBuilder(BuildContext ctxt, int Index, String k) {
return new Text(litems[Index] + k);
}