尝试将ExpansionPanelist/ExpansionPanel与(Firebase)流一起使用时出现抖动错误

尝试将ExpansionPanelist/ExpansionPanel与(Firebase)流一起使用时出现抖动错误,firebase,flutter,dart,google-cloud-firestore,widget,Firebase,Flutter,Dart,Google Cloud Firestore,Widget,我有以下代码片段: @override Widget build(BuildContext context) { return StreamBuilder( stream: Accounts.getAccounts(widget.firebaseUser.uid), builder: (BuildContext context, AsyncSnapshot snapshot) { return ExpansionPanelList(

我有以下代码片段:

  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      stream: Accounts.getAccounts(widget.firebaseUser.uid),
      builder: (BuildContext context, AsyncSnapshot snapshot) {
        return ExpansionPanelList(
          children: snapshot.data.documents
              .map((account) => new ExpansionPanel(
                  headerBuilder: (BuildContext context, bool isExpanded) {
                    return ListTile(
                      title: Text("Some title"),
                    );
                  },
                  body: ListTile(
                    title: Text("Some text"),
                  )
              )).toList(),
          );
        }  
      );
    }  
这会产生以下错误:
类型“List”不是类型“List”的子类型

我在这里看到了一个解决方案:

但当我这样做并在“map”之后添加
时,我会得到一个不同的错误:

类型“List”不是类型“List”的子类型

不知道如何解决此问题…

要将
列表
转换为特定类型的列表,可以执行以下操作:

List<ExpansionPanel>.from(...);
List.from(…);

我不确定您的代码中的变量是
列表
,但是在上面的语句中包装它应该会将其转换为正确的类型(当然,如果不是所有项目都是
扩展面板
实例,则会失败)。

.map
替换为
。map
在这里起到了作用