Flutter TextField焦点监听

用Listener监听TextField的FocusNode,来判断输入框是否在响应中
给输入框创建FocusNode和controller

FocusNode nameFocusNode = FocusNode();
final nameController = TextEditingController();
TextField(
    controller: nameController,
    cusNode: nameFocusNode,
),

initState方法中对FocusNode进行监听

@override
  void initState() {
    super.initState();
    // 这里可以设置输入框默认值
    nameController.text = widget.nickname;
    // 输入框焦点
    nameFocusNode.addListener(() {
      if (!nameFocusNode.hasFocus) {// 失去焦点
        print(nameController.text);
      }
    });
  }

controller要销毁

@override
  void dispose() {
    nameController.dispose();
    super.dispose();
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Flutter入门笔记系列文章部分内容来源于《Flutter 实战》,如有侵权请联系删除! Material组件库...
    怡红快绿阅读 6,933评论 0 3
  • 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:...
    壹尘子阅读 4,436评论 1 1
  • TextField 介绍 TextField 组件可以让用户填写信息。 实现 TextField 的代码非常简单:...
    Meandni阅读 9,289评论 3 13
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,389评论 0 1
  • 很讨厌邻居家的那条狗,准确的说不是讨厌,是恨。 一只大黑狗,站起来能一口咬断我的脖子,不知道邻居什么时候开始...
    Ljkcy阅读 245评论 0 0