Flutter-如何以编程方式触发RaisedButton?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter-如何以编程方式触发RaisedButton?相关的知识,希望对你有一定的参考价值。
我有一个RaisedButton。
Widget build(BuildContext context) {
print("MyHomePageState build");
// TODO: implement build
return Scaffold(
appBar: AppBar(title: Text("test")),
body: Stack(
children: <Widget>[
RaisedButton(
onPressed: () {
Navigator.of(context).pushNamed("Page2");
},
child: Text("jump"),
)
],
)
);
}
如何通过编程代码而不是单击此按钮来触发此按钮的onTap()方法?
答案
您可以只创建一个单独的函数并以编程方式调用此方法:
void triggerButton() {
Navigator.of(context).pushNamed("Page2");
}
然后,这样称呼它:
Widget build(BuildContext context) {
print("MyHomePageState build");
// TODO: implement build
return Scaffold(
appBar: AppBar(title: Text("test")),
body: Stack(
children: <Widget>[
RaisedButton(
onPressed: () {
triggerButton();
},
child: Text("jump"),
)
],
)
);
}
另一答案
简单复制onPressed()
函数主体并将其包装为函数:
void onTapRaised(){
Navigator.of(context).pushNamed("Page2");
}
RaisedButton(
onPressed:onTapRaised,
child:Text("Jump"),
)
现在您可以从同一页面的任何地方以编程方式调用onTapRaised
。
以上是关于Flutter-如何以编程方式触发RaisedButton?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:如何以编程方式添加 TextField 或 TextFormField
如何以编程方式在 Flutter 中用 Empty Container() 小部件替换 Text() 小部件?