【Flutter】第一次textEditingController.text获取到空字符串
犯了一个初级错误。
在initState()方法里面调用了一个async方法获取数据库数据,在async里面初始化TextEditingController并给TextEditingController.text赋值。在build中使用,导致第一次调用textEditingController.text获取到空字符串。
原因分析:通过打印日志可以得知,initState()方法执行后,还没执行完async方法就走到了build()方法,导致textEditingController.text获取到的是空字符,甚至TextEditingController不能保证非空;
解决方法:
首先:把TextEditingController放到类里面初始化。
然后给TextEditingController.text赋值后添加代码setState(() {}); 刷新状态,不然显示不了值。