dart - 如何正确启用/禁用 Flutter 的 Button

标签 dart flutter

经研究,当 onPressed 为 null 时,Flutter 的 Button 会自动禁用。但是,由于我需要的测试功能,我不得不放置一个箭头函数 () => ,这似乎不会触发 onPressed 实际上为 null,而是将 null 作为值返回。因此,当 textField 为空时,当前按钮什么都不做(null)。如果 textField 为空,我的目标是完全禁用它(灰色)。

onPressed: () => (_textController.text.isNotEmpty) ? _addNewPair() : null,

showDialog(
  context: this.context,
  builder: (BuildContext context) {
    return AlertDialog(
      title: Text('Add a custom word'),
      content: _renderForm(),
      actions: <Widget>[
        FlatButton(
          child: Text('ADD'),
          onPressed: () => (_textController.text.isNotEmpty) ? _addNewPair() : null,
        ),
      ],
    );
  }

最佳答案

先设置条件,如果文本为空,您的按钮将被禁用。

onPressed: (_textController.text.isNotEmpty) ? () =>  _addNewPair() : null,

关于dart - 如何正确启用/禁用 Flutter 的 Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716659/

相关文章:

flutter - 按下按钮时如何显示警报对话框?

json - 在flutter中访问quicktype JSON对象

flutter - 即使按下鼠标按钮,也会在 Flutter 中跟踪鼠标移动

flutter - Flutter:如何将JSON元素转换为列表?

regex - Dart : How to extract a number from a string using RegEx

android - 在 flutter 中具有拖动效果的滚动条

android - 停止视频播放器日志 flutter

flutter - Flutter 是否也在 iOS 上使用 Skia 进行渲染?

dart - Dart入门和使用Dart编辑器时遇到问题

firebase - 创建 FirebaseAuth 实例时收到错误创建并使用电子邮件和密码登录