【发布时间】:2019-05-30 04:40:43
【问题描述】:
我正在尝试更新 TextField 以显示错误文本,直到电子邮件被外部 validators 包验证。但是,即使我从 build 方法中调用 setState,UI 也不会更新。我尝试使用print 语句(附截图)进行调试,并且行为符合预期。如果我尝试在setState() 中传递更新的TextField UI,为什么UI 不更新显示带有错误文本的TextField?
有效的代码
无效的代码
child: TextField(
decoration: InputDecoration(
hintText: "Enter Email Id",
border: OutlineInputBorder()),
onChanged: (String value) {
emailId = value;
setState(() {
isEmail(value)
? print("true")
: TextField(
decoration: InputDecoration(
errorText: "Enter valid email"),
);
});
},
【问题讨论】:
-
不要发布您的代码/日志的屏幕截图。以文本形式发布并使用文本工具框进行格式化
-
我使用截图显示输出日志。