Flutter类型错误:String无法转为TextEditingController问题求助
问题原因
你直接把Firestore返回的字符串赋值给了displayName这个TextEditingController对象,而不是修改控制器内部的文本属性。displayName是控制器实例,类型为TextEditingController,但你给它赋值了字符串类型的值,因此触发类型不匹配错误。
解决方法
修改setState中的赋值逻辑,不要直接替换控制器对象,而是设置控制器的text属性:
setState(() { displayName.text = data["displayName"] ?? ''; });
补充说明
- TextEditingController的核心作用是管理输入框的文本内容,它的
text属性才是存储字符串文本的字段 - 后续如果需要修改输入框内容,都应该通过修改
text属性实现,而非重新赋值控制器对象
内容的提问来源于stack exchange,提问作者sanjai
相关产品推荐
相关产品推荐

