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:如何使用 fcm 以编程方式发送推送通知

如何以编程方式在 Flutter 中用 Empty Container() 小部件替换 Text() 小部件?

如何以编程方式触发方法“tabBarController:didSelectViewController:”?

如何以编程方式触发 ngClick

如何以编程方式触发 UIView 的点击手势识别器