错误:flutter/lib/ui/ui_dart_state.cc(186) 未处理的异常:“String”类型不是“index”的“int”类型的子类型

时间:2021-04-19 16:18:37

标签: firebase flutter dart firebase-realtime-database

希望一切都好。 提醒一下,我仍在学习,并且对 flutter 和 Dart 仍然很陌生,所以,如果我的代码看起来很愚蠢,那就是原因。

我正在尝试从 Firestore 的特定文档中获取数据。然后显示为列表磁贴。我试图将数据保存到一个局部变量(列表)中,我用它来制作列表。

但我收到一个错误,该错误并没有说明它发生在哪里,这使得它很难修复。 这是函数和变量。

 final uid = FirebaseAuth.instance.currentUser.uid;
  List<PhoneModel> _phones = [];

  Future<void> _getPhones() async {
    var phones = await FirebaseFirestore.instance
        .collection('phones')
        .doc('5AfeF8xkdbM2xgXheDaK5OcDeT63')
        .get();

    List<PhoneModel> loadedPhones = [];
    phones.data().forEach((key, value) {
      loadedPhones.add(PhoneModel(
          descriptions: value['description'],
          price: value['Price'],
          title: value['Title'],
          id: key));
      _phones = loadedPhones;

      return _phones;
    });
  }

这里是错误

[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: type 'String' is not a subtype of type 'int' of 'index'
E/flutter (32763): #0      _UserPhoneAddsState._getPhones.<anonymous closure>
package:secondhandphones/…/CreateEditPhone/UpdatePhone.dart:32
E/flutter (32763): #1      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:397:8)
E/flutter (32763): #2      _UserPhoneAddsState._getPhones
package:secondhandphones/…/CreateEditPhone/UpdatePhone.dart:30
E/flutter (32763): <asynchronous suspension>

编辑:这是根据评论的电话模型类

class PhoneModel {
  final String title;
  final String id;
  final String descriptions;
  final num price;

  PhoneModel({
    this.descriptions,
    this.id,
    this.price,
    this.title,
  });
}

请告诉我是否需要发布其他内容 感谢您的帮助

0 个答案:

没有答案