首页 > 解决方案 > Flutter 我怎么知道 TextField 是否已经(失去焦点,焦点出)?

问题描述

我有一个包含多个元素的页面,它有一个TextField小部件,我想知道我是否移动到另一个元素来做某事。从一个元素移动到另一个元素时是否会触发事件?我试过onSubmitted了,但它没有满足我的要求。

标签: flutterflutter-layout

解决方案


你需要使用FocusNode

  1. 声明你的FocusNodefinal FocusNode focusNode;
  2. 将其传递给TextFieldTextField( ..., focusNode: focusNode, ... )
  3. 将监听器添加到FocusNode
focusNode.addListener(() {
  print("${focusNode.hasFocus}");
});
  1. FocusNodehasFocustrue意味着TextField有焦点

推荐阅读