【问题标题】:Is there a way to auto click button in flutter?有没有办法在颤动中自动单击按钮?
【发布时间】:2019-10-30 04:05:10
【问题描述】:

有谁知道有什么方法可以在颤动中自动单击按钮吗?在 javascript 我使用

document.getElementById('someId').click();                                                       

【问题讨论】:

  • 点击时为什么不直接调用在按钮中添加的方法?
  • 在我的情况下,我希望按钮 UI 的行为以与点击它时相同的方式更新,或者如果底层点击行为由蓝牙连接自动启动。因此,请按照下面 Pablo 的建议致电 button.onPress();,完美回答问题。

标签: flutter dart


【解决方案1】:

如果按钮在变量中,你可以这样做:

FlatButton button = FlatButton(
  child: Text("Button"),
  onPressed: () => print('pressed'),
);
button.onPressed();

如果您不知道 onPressed 是否不为空,您可以这样做:

button.onPressed?.call(); // if (button.onPressed != null) button.onPressed();

或者你可以按照其他人的建议,使用分配给onPressed的相同功能,如下所示:

FlatButton button = FlatButton(
  child: Text("Button"),
  onPressed: _myOnPressed,
);
_myOnPressed();

【讨论】:

  • 此答案的顶部示例是否为您显示按钮点击动画?它不适合我。它只是执行按钮的 onPressed 函数。
【解决方案2】:

你为什么想要那个?简单地说,您可以为按钮单击分配一个功能,并在需要时调用它。

例子:

class Blacksmith extends StatelessWidget {
  void _onPress() {
    print('I am pressed');
  }

  @override
  Widget build(BuildContext context) {
    return FlatButton(
      child: const Text('Click'),
      onPressed: _onPress,
    );
  }
}

现在您可以调用_onPress() 来触发FlatButton onPressed。

我希望这能达到目的。

【讨论】:

  • 感谢您的回复,我只是想知道是否有一种方法可以在用户单击按钮之前自动单击它。
  • @TABASCO 我认为这将执行相同的行为。单击按钮和调用执行相同工作的函数没有区别。
  • 如果你自己触发,你如何从onPressed函数中获取参数。
  • 这是手动方式,不会自动点击按钮。
猜你喜欢
  • 2022-01-17
  • 2020-04-29
  • 2022-10-12
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多