gpt4 book ai didi

dart - Flutter:将键盘聚焦在后退导航上

转载 作者:IT王子 更新时间:2023-10-29 06:38:59 28 4
gpt4 key购买 nike

我想在用户使用导航栏中的后退按钮导航回来后聚焦一个 textField。你是怎样做的?我尝试了 TextField 小部件的 autofocus 属性。但这仅在首次创建小部件时向前导航时有效。 iOS 上有viewDidAppear 方法,Flutter 有类似的方法吗?

谢谢!

最佳答案

您需要为您的TextField提供一个FocusNode,然后您可以等待用户返回并设置FocusScope .of(context).requestFocus(myNode) 当导航发生时。

简单演示:

enter image description here

class FirstPage extends StatefulWidget {
@override
_FirstPageState createState() => new _FirstPageState();
}

class _FirstPageState extends State<FirstPage> {
FocusNode n = new FocusNode();
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(title:new Text("First Page")),
body: new Center(
child: new Column(
children: <Widget>[
new TextField(
focusNode: n,
),
new RaisedButton(onPressed: ()async{

bool focus = await Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>new SecondPage()));
if (focus == true|| focus==null){

FocusScope.of(context).requestFocus(n);

}
},
child: new Text("NAVIGATE"),),
],
),
),
);
}
}


class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(title:new Text("Second Page")),
body: new Center(
child: new RaisedButton(onPressed: (){Navigator.pop(context,true);},child: new Text("BACK"),),
),
);
}
}

关于dart - Flutter:将键盘聚焦在后退导航上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47965466/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com