- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我目前在 SimpleDialog 中嵌入了一个 TextField,用于输入信息。输入的信息需要在使用前进行验证。如果此验证失败,我想使用 TextField 的 ErrorText 字段显示一条错误消息。此验证在用户按下“保存”按钮时发生。
失败时,我将文本的值从 null 更新为“Error!”。我知道这是正确完成的,因为如果我退出 SimpleDialog 然后返回对话框,文本就会更新。显然这是状态的问题。
这是保存按钮的 OnPressed 方法的代码:
onPressed: () {
if (!checkDevEUICorrectness()) {
setState(() {
devEUIErrorText = "Error!";
});
}
else {
setState((){
devEUIErrorText = null;
});
}
},
这里是 TextField 的一小段代码:
new TextField(
controller: devEUIController,
decoration: new InputDecoration(
errorText: devEUIErrorText,
// This is the save button whose code is above
icon: new IconButton(...implementation...),
),
),
我应该如何正确更新文本的状态?与我在网上看过的许多指南相比,我看不出我正在做的事情有什么不同。
最佳答案
您发布的代码没有任何帮助,但我认为可能是什么错误。当我们在按钮上打开一个 SimpleDialog
并尝试在其中执行某些操作时。注意这里的 SimpleDialog
作为一个 stateless widget 。
当我们写
showDialog(
context: context,
builder: (BuildContext context){
return SimpeDialog(
.... // the code for deigning the simpleDialog
);
});
尽管如此,您还需要做的。你需要做这样的事情:-
showDialog(
context: context,
builder: (BuildContext context){
return DialogDemo();
});
在 DialogDemo
中创建一个 stateful widget
并在该 widget 中复制粘贴所有代码到您的主要构建函数下。
class DialogDemo extends StatefulWidget {
DialogDemoState createState() => new DialogDemoState();
}
class DialogDemoState extends State<DialogDemo> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return SimpleDialog(
.... // the code for deigning the simpleDialog
);
}
}
关于dart - TextField ErrorText 不会刷新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51410056/
我目前在 SimpleDialog 中嵌入了一个 TextField,用于输入信息。输入的信息需要在使用前进行验证。如果此验证失败,我想使用 TextField 的 ErrorText 字段显示一条错
[dart] Invalid constant value.[dart] Arguments of a constant creation must be constant expressions.
Flutter如何给TextFormField下方的errorText添加图标? 最佳答案 Prot_CN,我认为您帖子中的屏幕截图使用的是自定义错误消息,结合了 Icon 和 Text 小部件,因为
我如何知道 datagridview 的任何单元格上是否有 errorText。我有一个保存按钮,只有当所有单元格值都有效时我才想启用它,这意味着没有单元格设置了 errorText 最佳答案 在您的
我已经用 Google 和 Google 搜索过了... 当我的应用程序启动时,它会加载一个配置文件并在 DataGridView 中显示其内容 - 包括在配置文件中发现的错误。 所以当我的方法 Ma
基本上我正在尝试测试在错误登录后我在电子邮件字段中显示错误。 观点是: 我试着这样做: onView(withId(R.id.et_email)) .check(matches(
有没有办法减少 TextFormField 小部件中实际输入和错误文本之间的间距?就目前而言,在表单上显示错误文本几乎使表单的大小增加了一倍,我想在有或没有错误文本的情况下使表单区域保持相同的大小。从
我是一名优秀的程序员,十分优秀!