这是我在flutter中从sqflite获取数据的代码,但在这样做时,我得到了以下错误:
Class 'List<Student>' has no instance getter 'values'. Receiver: Instance(length:11) of '_GrowableList' Tried calling: values
DBHelper dbHelper;
Future<List<Student>> students;
FutureBuilder(
future:students,
builder: ( context, snapshot) {
if (snapshot.hasData) {
List<Student> lst = new List<Student>();
for (var value in snapshot.data.values){
lst.add(value);
}
return Center(
child:
//Text('{$snapshot.data.values.toList()[0]["name"]}')
InfoCard(
title:snapshot.data.values.toList()[0]["name"] ,//snapshot.data.documents[0].toString(),// snapshot.data.values.toList()[0]["name"],
iconColor: Color(0xFFFF8C00),
effectedNum: '1062',
press: () {},
),
);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
},
),
发布于 2020-12-10 15:12:16
这是因为snapshot.data
本身就是一个列表,所以不需要.values.toList()
属性。所以,去掉那部分就行了。
DBHelper dbHelper;
Future<List<Student>> students;
FutureBuilder(
future:students,
builder: ( context, snapshot) {
if (snapshot.hasData) {
List<Student> lst = new List<Student>();
for (var value in snapshot.data){
lst.add(value);
}
return Center(
child:
//Text('{$snapshot.data[0]["name"]}')
InfoCard(
title:snapshot.data[0]["name"] as String, //snapshot.data.documents[0].toString(),// snapshot.data.values.toList()[0]["name"],
iconColor: Color(0xFFFF8C00),
effectedNum: '1062',
press: () {},
),
);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
},
),
https://stackoverflow.com/questions/65229644
复制相似问题