Controlador de edición de texto en Flutter
TextEditingController es un controlador que puede controlar TextField y TextFormField. Tiene principalmente las siguientes funciones:
- Lea y modifique el contenido de texto de TextField/TextFormField. El texto se puede obtener a través de controller.text, y el texto se puede configurar a través de controller.text = 'new text'.
- Supervise los cambios de texto de TextField/TextFormField. A través de controller.addListener(), puede monitorear los cambios en controller.text para actualizar otras interfaces de usuario o realizar ciertas operaciones.
- Administre el cursor y la posición de selección de TextField/TextFormField. La posición del cursor se puede obtener y establecer mediante controller.selection y controller.selection =.
- Controla el foco de TextField/TextFormField. El foco se puede solicitar a través de controller.requestFocus(), y el foco se puede abandonar a través de controller.unfocus().
ejemplo
TextEditingController _controller = TextEditingController();
TextField(
controller: _controller, //引入
)
// 监听文字变化
_controller.addListener(() {
print(_controller.text);
});
// 获取TextField内容
String content = _controller.text;
// 设置TextField内容
_controller.text = '新内容';