我是颤振的新手,没有任何内容可以解释什么
FocusScope.of(context).requestFocus(FocusNode());
事实上确实如此。我浏览了 Flutter 文档,但无法弄清楚这到底意味着什么。
谁能向我解释一下吗?
每一个细节都会有所帮助。谢谢。
Ale*_*kin 11
您发现的是在旧版本的 Flutter 上隐藏键盘的过时方法。如果您想使用现代版本隐藏键盘,请参阅此答案:/sf/answers/3986241801/
回到这段代码。
FocusScope是在树上的某个位置自动为您创建的小部件。它将焦点遍历仅保留在树中位于其下方的小部件上。如果没有这个小部件,在模式对话框中,您可能会将焦点移动到其后面的屏幕上。
FocusScope.of(context)获取树中当前小部件的位置(这就是实际情况context)并沿着树向上查找最近的FocusScope小部件。
然后,requestFocus找到的FocusScope小部件上的方法会使焦点移动到您传递的对象。
由于您不想专注于任何事情(以使键盘消失),因此您传递了一个FocusNode不与任何小部件关联的新创建的对象。它是一次性的,之后会被销毁。
FocusNode对象用于将焦点设置在输入控件上。如果您创建一个并在 中保留对它的引用State,则可以将其传递给TextFormFieldwidget as focusNode: _myFocusNode,然后将其用作句柄以将焦点设置在该输入上。
| 归档时间: |
|
| 查看次数: |
9487 次 |
| 最近记录: |