如何在 flutter 2.0 中将 _list(QuerySnapshot<Map<String, dynamic>> snapshot) 转换为 List<dynamic>
how to convert _list(QuerySnapshot<Map<String, dynamic>> snapshot) into List<dynamic> in flutter 2.0
我正在尝试获取 List _list,但自从我将 flutter 升级到 2.0 后,我不得不将代码更改为 _list(QuerySnapshot
我的代码:
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<Map<String, dynamic>>)'
定义运算符“[]”
欢迎提出任何想法,提前致谢!
截至目前,您的 _list
被定义为 Function
而 returns 是 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
)
.....
我正在尝试获取 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<Map<String, dynamic>>)'
定义运算符“[]”欢迎提出任何想法,提前致谢!
截至目前,您的 _list
被定义为 Function
而 returns 是 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
)
.....