尝试将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
在这里起到了作用