问题描述
我正在尝试获取 List
我的代码:
List _list(QuerySnapshot<Map<String,dynamic>> snapshot) {
return snapshot.docs
.map((doc) => new Brand(
doc.data()['brandId'].toString(),))
.toList();
}
稍后在我的代码中我需要使用一些字段:
return StaggeredGridView.countBuilder(
itemCount: _list.length,itemBuilder: (BuildContext context,int index) {
Brand brand = _list.elementAt(index) as Brand;
return InkWell(
onTap: () {
Navigator.of(context).pushNamed('/Brand',arguments: new RouteArgument(
id: _list[index].id)
错误信息: 错误:运算符“[]”未为类型“List Function(QuerySnapshot
定义欢迎提出任何想法,提前致谢!
解决方法
到目前为止,您的 _list
被定义为返回 Function
而不是 List
本身的 List
。
所以,为了使用它,你应该首先正确地call
它和必要的参数。
像这样,
List myList = _list(snapshot); // I assume you have access to a snapshot variable
return StaggeredGridView.countBuilder(
itemCount: myList .length,itemBuilder: (BuildContext context,int index) {
Brand brand = myList.elementAt(index) as Brand;
return InkWell(
onTap: () {
Navigator.of(context).pushNamed('/Brand',arguments: new RouteArgument(
id: myList[index].id
)
.....