首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:找不到此计划器上的正确Provider<List<Planner>>

错误:找不到此计划器上的正确Provider<List<Planner>>
EN

Stack Overflow用户
提问于 2020-12-30 21:01:39
回答 2查看 35关注 0票数 1

我希望有人能在这里帮我,我在这个问题上被困了好几个小时。

我试图建立一个StreamProivder基于我自己的模型,从一个Firestore快照。不知何故,每次我声明StreamProvider <List<Planner>>的类型时,value:-line都会带有红色下划线。

这是

代码语言:javascript
复制
return StreamProvider<List<Planner>>.value(
  value: DatabaseService(uid: user.uid).planner,
  child: Scaffold(...

这是我的DataService类中的流:

代码语言:javascript
复制
  Stream<List<Planner>> get planner {
    return userCollection.document(uid).collection('Planner').snapshots().map(_plannerFromSnapshot);
  }

在这里我创建了我自己的数据列表:

代码语言:javascript
复制
  List<Planner> _plannerFromSnapshot(QuerySnapshot snapshot) {
    return snapshot.documents.map((doc) {
      return Planner(
        tag: doc.data['Datum'] ?? '',
        tageszeit: doc.data['Tageszeit'] ?? '',
        gericht: doc.data['Gericht'] ?? '',
        plannerID: doc.documentID ?? '',
      );
    }).toList();
  }
}

这是我自己的规划师模型课:

代码语言:javascript
复制
class Planner {

  final String tag;
  final String tageszeit;
  final String gericht;
  final String plannerID;

  Planner({this.tageszeit, this.gericht, this.tag, this.plannerID});

}

下面是来自AndroidStudio的错误提示:

参数类型'Stream‘(其中规划师在...\lib\models\plannermodel.dart中定义)不能分配给参数类型'Stream’(在...\lib\screens\planner.dart中定义规划师)。

我怎么才能解决这个问题?

提前谢谢你!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-30 21:59:51

在错误消息中:

参数类型'Stream‘(其中规划师在...\lib\models\plannermodel.dart中定义)不能分配给参数类型'Stream’(在...\lib\screens\planner.dart中定义规划师)。

我们可以看到,Planner类有两个相互冲突的定义,一个在models\plannermodel.dart中,一个在screens\planner.dart中。

因此,我们可以将screens\planner.dart中的screens\planner.dart类更改为PlannerScreen来解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2020-12-30 21:12:17

您需要在.toList()之后的get计划器中使用.map()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65513539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档