Flutter FocusScope.of(context.requestFocus(FocusNode())是什么;你的意思是什么?
我是一个新手,没有任何东西可以解释什么Flutter FocusScope.of(context.requestFocus(FocusNode())是什么;你的意思是什么?,flutter,Flutter,我是一个新手,没有任何东西可以解释什么 FocusScope.of(context.requestFocus(FocusNode()) 事实上是这样。我查阅了颤振文档,但无法准确理解这意味着什么 谁能给我解释一下吗 每一个细节都会有帮助。 谢谢。您发现了一种过时的方法,可以在旧版本的Flitter上隐藏键盘。如果要使用现代版隐藏键盘,请参见以下答案: 回到这段代码 FocusScope是一个在树的某个位置自动创建的小部件。它在树中只对其下方的小部件进行焦点遍历。如果没有这个小部件,在模式对话框中
FocusScope.of(context.requestFocus(FocusNode())代码>
事实上是这样。我查阅了颤振文档,但无法准确理解这意味着什么
谁能给我解释一下吗
每一个细节都会有帮助。
谢谢。您发现了一种过时的方法,可以在旧版本的Flitter上隐藏键盘。如果要使用现代版隐藏键盘,请参见以下答案:
回到这段代码
FocusScope
是一个在树的某个位置自动创建的小部件。它在树中只对其下方的小部件进行焦点遍历。如果没有这个小部件,在模式对话框中,您可以将焦点移动到它后面的屏幕上
FocusScope.of(context)
获取当前窗口小部件在树中的位置(这就是context
的位置),然后沿着树向上走,找到最近的FocusScope
窗口小部件
然后,找到的FocusScope
小部件上的requestFocus
方法会使焦点移动到您传递的对象
由于您不想关注任何内容(使键盘消失),因此需要传递一个新创建的FocusNode
对象,该对象与任何小部件都没有关联。它是一次性的,之后会被销毁
FocusNode
对象用于设置输入控件的焦点。如果创建一个并在状态中保留对它的引用
,则可以将其作为focusNode:_myFocusNode
传递到TextFormField
小部件,然后将其用作句柄来设置该输入的焦点