首页 > 解决方案 > 颤振错误:类型“字符串”不是“列表”类型的子类型' 在类型转换中

问题描述

我想从firestore获取图像数组,但出现以下错误:

我的错误: 类型“字符串”不是类型转换中“列表”类型的子类型

代码:

Widget build(BuildContext context) {
return Scaffold(
  body: StreamBuilder<QuerySnapshot>(
      stream: _store.load_item(),
      builder: (context, snapshot) {
        if (snapshot.hasData) {
          List<Item> _item = [];
          for (var doc in snapshot.data.docs) {
            var data = doc.data();

            _item.add(Item(
                admin_id: data['admin_id'],
                item_id: data['item_id'],
                item_description: data['item_description'],
                item_price: data['item_price'],
                images: List.from(data['images'])));
          }
          return GridView.builder(
            itemCount: _item.length,
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 2),
            itemBuilder: (context, index) {
              return Stack(children: [
                Image(image: NetworkImage(_item[index].images.toString()))
              ]);
            },
          );
        } else {
          return Center(child: Text("Loading....."));
        }
      }),
);

}

标签: firebasefluttergoogle-cloud-firestore

解决方案


这导致了您的问题:

images: List.from(data['images'])));

您收到的不是列表,而是字符串。确保它是firebase中的列表。


推荐阅读