flutter - Flutter - 当长度大于或小于 0 时启用/禁用按钮
问题描述
我正在寻找要启用或禁用的按钮,同时我在 textField 中写作。如果文本的长度大于 0,我需要启用按钮。
final myController = TextEditingController();
static var nameProduct;
@override
void initState() {
super.initState();
}
return Dialog(
shape: RoundedRectangleBorder(),
child: Container(
child: Stack(
children: <Widget>[
Container(child: Center(
child: Column(
children: <Widget>[
TextField(
autofocus: true,
controller: myController,
onChanged: (String text) {
nameProduct = text;
},
),
Padding(
child: Row(
children: <Widget>[
Container(
child: RaisedButton(
onPressed: (nameProduct.isNotEmpty)
? () => {
Navigator.of(context)
.pop(false),
myMethod()
}
: null,
),
),
],
),
),
],
),
),
)
],
),
));
使用我在这里发布的代码,它对我不起作用。谢谢
解决方案
不会再次调用 build 方法来执行重绘。
你可以setState(() {});
这样使用:
onChanged: (String text) {
setState(() {
nameProduct = text;
});
},
推荐阅读
- python - 如何矢量化在两个熊猫数据帧上运行的函数?
- swift - Swift ui 雷达图
- javascript - 如果我也提供了正确的密码,为什么我的页面没有重定向到 Google?请看我的代码
- inno-setup - 在 Inno Setup 中检查空格和特殊符号的安装路径
- python - 使用 python 向 gdb 中的 stdio 提供输入
- r - 从散点图中找到 2 个回归方程/斜率并比较方程/斜率
- python - 导入 pandas df 时删除/忽略 .dat 的前两行
- css - 使具有较小 z-index 的元素可点击
- drupal - Drupal 8 Gutenberg 模块正在阻止对现有网络表单元素的编辑并添加新元素
- tensorflow - 我们可以通过仅省略 pbtxt 标签映射文件中的标签来忽略 Tensorflow 对象检测 API 中不必要的类吗?