FirebaseFirestore.instance
.collection('books')
.doc(widget.book.id)
.update(Book(
userId: FirebaseAuth.instance.currentUser.uid,
title: _titleTextController,
author: _authorTextController,
photoUrl: _photoTextController,
startedReading: isReadingClick ? Timestamp.now():
widget.book.startedReading,
finishReading: Timestamp.now()
notes: _notesTextController,
这是代码的一部分,错误在哪里 [错误图像]:https://imgur.com/rL31Hhi [声明]:https://imgur.com/rUZaahp
答案 0 :(得分:1)
要检索 TextEditingController 的文本,您需要调用 getter text
。
FirebaseFirestore.instance
.collection('books')
.doc(widget.book.id)
.update(Book(
userId: FirebaseAuth.instance.currentUser.uid,
title: _titleTextController.text,
author: _authorTextController.text,
photoUrl: _photoTextController.text,
startedReading: isReadingClick ? Timestamp.now():
widget.book.startedReading,
finishReading: Timestamp.now()
notes: _notesTextController.text,
答案 1 :(得分:0)
欢迎堆栈溢出。请务必准确描述您的错误。
解决方案,请使用控制器的 .text 属性。
FirebaseFirestore.instance
.collection('books')
.doc(widget.book.id)
.update(Book(
userId: FirebaseAuth.instance.currentUser.uid,
title: _titleTextController.text,
author: _authorTextController.text,
photoUrl: _photoTextController.text,
startedReading: isReadingClick ? Timestamp.now():
widget.book.startedReading,
finishReading: Timestamp.now()
notes: _notesTextController.text,
您不能将 texteditingcontroller 分配给这些值,因为它用于控制您的文本。所以你需要点击它保存的文本。所以使用它的 .text 属性。因为我不知道您是否使用了空安全。我自己假设它为NO。如有错误,请随时询问。