Flutter我怎么知道TextField是否已经(失去焦点,没有焦点)?

时间:2020-11-03 15:59:06

标签: flutter flutter-layout

我有一个包含多个元素的页面,并且页面上有一个TextField小部件,我想知道是否移至另一个元素来执行某项操作。从一个元素移动到另一个元素时是否会触发事件?我尝试了onSubmitted,但没有满足我的要求。

1 个答案:

答案 0 :(得分:4)

您需要使用FocusNode

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