錯誤:“物件?”型別的值 不能分配給“串列”型別的變數。嘗試更改變數的型別,或將右側型別轉換為“串列”。
class _CitaListState extends State<CitaList> {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future:
CitaService().getByEmail(FirebaseAuth.instance.currentUser!.email),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Container(
child: Text('No tiene citas'),
);
}
List<Cita> citas = snapshot.data; // Line error
return ListView.builder(
itemCount: citas.length,
itemBuilder: (context, index) {
Cita c = citas[index];
return ListTile(
leading: Text(c.turn.toString()),
title: Text(c.formattedDay()),
trailing: c.status == 'cancelled'
? null
: IconButton(onPressed: () {}, icon: Icon(Icons.delete)),
);
});
});
}
}
getByEmail 這里是我的 getByEmail 方法,我將值設定為存盤在我的資料庫中
class CitaService {
Future<void> create(String? email, DateTime day) async {
try {
await FirebaseFirestore.instance
.collection('citas')
.add({'email': email, 'day': day, 'turn': 1, 'status': 'pendiente'});
} catch (e) {
print(e);
}
}
Future<List<Cita>?> getByEmail(String? email) async {
try {
var snapshot = await FirebaseFirestore.instance
.collection('citas')
.where('email', isEqualTo: email)
.get();
List<Cita> citas = [];
snapshot.docs.forEach((element) {
citas.add(Cita.fromSnapshot(element));
});
return citas;
} catch (e) {
print(e);
return null;
}
}
}
uj5u.com熱心網友回復:
嘗試傳入List<Cita>?型別FutureBuilder's:
FutureBuilder<List<Cita>?>(//<---add this
future: CitaService().getByEmail(FirebaseAuth.instance.currentUser!.email),
builder:...
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/523385.html
標籤:扑镖
上一篇:我收到顏色和裝飾null錯誤
下一篇:profile.dart上的_TypeError(型別“String”不是“index”的“int”型別的子型別)
