flutter TextField 失去焦点事件
在 Flutter 中,处理 TextField
的失去焦点事件(即失去焦点时触发的操作)通常有两种常用方式:使用 FocusNode
或 onEditingComplete
回调。以下是具体实现:
import \'package:flutter/material.dart\';class MyTextField extends StatefulWidget { @override _MyTextFieldState createState() => _MyTextFieldState();}class _MyTextFieldState extends State { final FocusNode _focusNode = FocusNode(); final TextEditingController _controller = TextEditingController(); @override void initState() { super.initState(); _focusNode.addListener(_onFocusChange); } void _onFocusChange() { if (!_focusNode.hasFocus) { print(\'输入框失去焦点\'); // 处理逻辑 } } @override Widget build(BuildContext context) { return TextField( controller: _controller, focusNode: _focusNode, decoration: InputDecoration( labelText: \'请输入内容\', ), ); }}
失去焦点事件通常用于验证用户输入、自动保存内容或触发其他相关操作,比如在用户完成输入后立即验证格式是否正确。4K壁纸