我正在使用颤振搜索代理实现搜索特性,数据存储在Firestore中。我不知道为什么会出现这个错误。
Widget buildSuggestions(BuildContext context) {
return StreamBuilder(
stream: Firestore.instance.collection('todos').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return new Text('Loading...');
final results =
snapshot.data.documents.where((a) => a['title'].contains(query));
return ListView(
children: results.map<Widget>((a) => Text(a['title'])).toList(),
);
},
);
}错误:
type '(dynamic) => dynamic' is not a subtype of type '(DocumentSnapshot) => bool' of 'test'
发布于 2019-10-28 09:06:13
更换线路
final results = snapshot.data.documents.where((a) => a['title'].contains(query));至
final results = snapshot.data.documents.where((DocumentSnapshot a) => a.data['title'].contains(query));还有这条线
children: results.map<Widget>((a) => Text(a['title'])).toList()至
children: results.map<Widget>((a) => Text(a.data['title'])).toList()发布于 2021-03-06 06:44:23
更换线路
builder: (context, snapshot) {
....使用
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
.....最后代码是:
Widget buildSuggestions(BuildContext context) {
return StreamBuilder(
stream: FirebaseFirestore.instance.collection('todos').snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return new Text('Loading...');
final results =
snapshot.data.docs.where((a) => a['title'].contains(query));
return ListView(
children: results.map<Widget>((a) => Text(a['title'])).toList(),
);
},
);
}https://stackoverflow.com/questions/58587696
复制相似问题