经研究,当onPressed为null时,将自动禁用Flutter's Button。但是,由于我必须使用测试功能,我被迫放置了一个箭头函数()=>,该函数似乎并未触发onPressed实际上为null,而是返回null作为值。因此,当textField为空时,当前按钮仅不执行任何操作(空)。我的目标是如果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,
),
],
);
}
Run Code Online (Sandbox Code Playgroud)
首先考虑条件,如果文本为空,则按钮将被禁用。
onPressed: (_textController.text.isNotEmpty) ? () => _addNewPair() : null,
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1855 次 |
| 最近记录: |