//Assign this inputNode to TextFormField
FocusNode inputNode = FocusNode();
//Somewhere on TextFormField
TextFormField(
focusNode:inputNode
)
// to open keyboard call this function;
void openKeyboard(){
FocusScope.of(context).requestFocus(inputNode)
}
3条答案
按热度按时间bxjv4tth1#
从
FocusNode
documentation:FocusNode是ChangeNotifier,因此可以注册侦听器以在焦点更改时接收通知。
因此,当您将
FocusNode
分配给TextFormField
时,可以将addListener
分配给它,以跟踪发生在它身上的更改:您可以添加侦听器,然后检查它是否具有焦点,这意味着您正在检查
TextFormField
字段是否具有焦点,这也意味着如果显示键盘:这样,它将保持
TextFormField
的焦点,当您完成它时,您可以调用removeListener()
。daolsyd02#
将FocusNode提供给Textformfield,并将该特定节点集中在点击建议上,如下所示:
mefy6pfw3#
你可能戴着这个
或最终焦点节点文本字段焦点节点=焦点节点();