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?的主要内容,如果未能解决你的问题,请参考以下文章