flutter - Flutter 我怎么知道 TextField 是否已经(失去焦点,焦点出)?
问题描述
我有一个包含多个元素的页面,它有一个TextField
小部件,我想知道我是否移动到另一个元素来做某事。从一个元素移动到另一个元素时是否会触发事件?我试过onSubmitted
了,但它没有满足我的要求。
解决方案
你需要使用FocusNode
- 声明你的
FocusNode
:final FocusNode focusNode;
- 将其传递给
TextField
:TextField( ..., focusNode: focusNode, ... )
- 将监听器添加到
FocusNode
:
focusNode.addListener(() {
print("${focusNode.hasFocus}");
});
FocusNode
有hasFocus
,true
意味着TextField
有焦点
推荐阅读
- string - 查找嵌套集合时,Elasticsearch 会排除空字符串
- php - 如何在 db laravel 5.4 的派生文件路径中跳过公用文件夹名称?
- javascript - json 不断推入第一个数组项
- ruby-on-rails - RSpec ActiveRecord::RecordInvalid:验证失败:尽管在 FactoryBot 中有序列,但电子邮件已被接收
- c - 我的代码块无法编译
- azure - Azuure 应用服务和 GoDaddy 域
- r - 无法在 AWS Rstudio 上分配可用内存
- css - 非中心的引导偏移列
- user-interface - GUI 中的自动热键检查变量
- wordpress - 缓存不断让用户访问我的旧网址