//实例化
 FocusNode _focusNode = FocusNode();
flutter TextField输入框焦点事件的捕捉 监听焦点事件

 

//监听得放在初始化中
@override
  void initState() {
 super.initState();

   //输入框焦点
    _focusNode.addListener((){
      if (!_focusNode.hasFocus) {
//        print('失去焦点');
     
      }else{
//        print('得到焦点');
        
      
      }
    });

}
flutter TextField输入框焦点事件的捕捉 监听焦点事件
//离开页面记着销毁和清除
 @override
  void dispose() {
    // TODO: implement dispose
   
    _focusNode.unfocus();
    
    super.dispose();

  }
flutter TextField输入框焦点事件的捕捉 监听焦点事件
//清除输入框焦点 
 FocusScope.of(context).requestFocus(FocusNode());
flutter TextField输入框焦点事件的捕捉 监听焦点事件

 多看flutter 组件的dart源码

 

相关文章: