gpt4 book ai didi

带有动态后缀Icon的Flutter TextFormField

转载 作者:行者123 更新时间:2023-12-04 16:02:02 33 4
gpt4 key购买 nike

目标是显示/隐藏清除 Flutter TextFormField 上的字段的 suffixIcon。只有当框中有文本时它才应该可见。

该字段如下所示:

TextFormField(                  
controller: _usernameController,
decoration: InputDecoration(
labelText: 'Username',
suffixIcon: usernameNotEmpty == true ? IconButton(
onPressed: () {
_usernameController.clear();
},
icon: Icon(Icons.cancel, color: Colors.grey)
) : null
),
)

事件监听器如下所示:
var usernameNotEmpty;
_usernameController.addListener(() {
usernameNotEmpty = _usernameController.text.length > 0 ? true : false;
print(_usernameController.text);
});

所以实时更新的文本确实出现在控制台中。但是 suffixIcon从未显示。由于 TextFormField 没有 onChange事件,怎么会这样 suffixIcon显示/隐藏?

最佳答案

清理和工作:

_usernameController.addListener(() {
setState(() {});
});

TextFormField(
controller: _usernameController,
decoration: InputDecoration(
labelText: 'Username',
suffixIcon: _usernameController.text.length > 0 ? IconButton(
onPressed: () {
_usernameController.clear();
},
icon: Icon(Icons.cancel, color: Colors.grey)
) : null
),
)

关于带有动态后缀Icon的Flutter TextFormField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56229306/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com