在 Flutter 项目中,我需要监听 TextFormField 中的输入文本并执行某些操作,特别是当用户在此字段中放置一些字符(例如空格)或请求焦点时。当这种事件发生时,我需要修改filed的值。
我知道有一个房产called controller
但我不知道在这种情况下如何使用它。
先感谢您。
您可以指定控制器和焦点节点,然后向它们添加侦听器以监视更改。
Ex:
定义控制器和焦点节点
TextEditingController _controller = new TextEditingController();
FocusNode _textFocus = new FocusNode();
定义监听函数
void onChange(){
String text = _controller.text;
bool hasFocus = _textFocus.hasFocus;
//do your text transforming
_controller.text = newText;
_controller.selection = new TextSelection(
baseOffset: newText.length,
extentOffset: newText.length
);
}
将侦听器添加到控制器和焦点节点initState
// you can have different listner functions if you wish
_controller.addListener(onChange);
_textFocus.addListener(onChange);
然后你可以用它作为
new TextFormField(
controller: _controller,
focusNode: _textFocus,
)
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)