Flutter-如何以编程方式触发RaisedButton?

问题描述 投票:0回答:2

我有一个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()方法?

flutter dart
2个回答
0
投票

您可以只创建一个单独的函数并以编程方式调用此方法:

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"),
          )
        ],
      )
    );
  }

0
投票

简单复制onPressed()函数主体并将其包装为函数:

void onTapRaised(){
  Navigator.of(context).pushNamed("Page2");
}

RaisedButton(
  onPressed:onTapRaised,
  child:Text("Jump"),
)

现在您可以从同一页面的任何地方以编程方式调用onTapRaised

© www.soinside.com 2019 - 2024. All rights reserved.