美文网首页
Flutter TextField焦点监听

Flutter TextField焦点监听

作者: 倪大头 | 来源:发表于2020-03-18 10:23 被阅读0次

    用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 TextField焦点监听

          本文链接:https://www.haomeiwen.com/subject/jtcqyhtx.html