需求

监听输入框的获取、失去焦点事件。

实现

FocusNode 可以实现对TextField的焦点事件的监听,通过向addListener方法传入回调函数来实现对TextField获取或者失去焦点的监听。

代码片段

FocusNode _focusNode = FocusNode();

  @override
  void initState() {
    _focusNode.addListener(() {
      if (!_focusNode.hasFocus) {
        // TextField has lost focus
        _showMessage();
      }
    });
    super.initState();
  }