在Flutter的TextFormField中管理事件

Flutter项目中,我需要听取TextFormField中的输入文本并执行某些操作,尤其是当用户在此文件中放置一些字符(例如空格)或请求焦点时。当发生此类事件时,我需要修改字段的值。我知道有一个属性,called

controller但是在这种情况下我不知道如何使用它。

先感谢您。

回答:

您可以指定一个控制器和焦点节点,然后向其添加侦听器以监视更改。

例如:

定义控制器和焦点节点

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

);

}

将listner添加到控制器和focusnode处 initState

// you can have different listner functions if you wish

_controller.addListener(onChange);

_textFocus.addListener(onChange);

然后您可以将其用作

new TextFormField(

controller: _controller,

focusNode: _textFocus,

)

希望有帮助!

以上是 在Flutter的TextFormField中管理事件 的全部内容, 来源链接: utcz.com/qa/423301.html

回到顶部