最近几天,我尝试着实现我在stackoverflow上找到的修复方法,但都不成功。我想这是由不正常的故事情节造成的。
所以我加了这个:
textfield1=true; _focusTextField1();
用
void _focusTextField1() { FocusScope.of(context).requestFocus(textfield1Node);}
现在TextField有了焦点(边框变成蓝色),但文本标记没有出现(我希望文本标记是正确的词,我指的是这个 "键盘"。比我发现这个解决方案。
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) => _focusTextField1());
这也不行 下一个问题是,我必须实现这个功能 addPostFrameCallback
用户可以创建的每一个可能的新TextField,但在描述中的 addPostFrameCallback
它说,只有最后一个回调才会被触发,意思是。每当我创建一个新的TextField时,在may initState()中最后一个回调的TextField将被关注。
谢谢大家的帮助!(我提供了所有相关的代码,我想如果我提供所有的代码会很混乱)。
我想你需要的是FocusNode。
https:/flutter.devdocscookbookformsfocus)。
U可以创建。
FocusNode myFocusNode;
@override
void initState() {
super.initState();
myFocusNode = FocusNode();
}
并将其添加到你的TextField中。
TextField(
focusNode: myFocusNode,
),
所以,当你需要请求聚焦时,调用: myFocusNode.requestFocus()