根据研究,当onPressed为null时,将自动禁用Flutter's Button。但是,由于我必须使用测试功能,我被迫放置了一个箭头函数()=>,该函数似乎并未触发onPressed实际上为null,而是返回null作为值。因此,当textField为空时,当前按钮仅不执行任何操作(空)。我的目标是如果textField为空,则完全禁用它(灰显)。
onPressed:()=>(_textController.text.isNotEmpty)吗? _addNewPair():空,
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,
),
],
);
}
答案 0 :(得分:3)
首先输入条件,如果文本为空,则按钮将被禁用。
onPressed: (_textController.text.isNotEmpty) ? () => _addNewPair() : null,