【问题标题】:Detect what button is pressed检测按下了什么按钮
【发布时间】:2022-01-07 11:38:37
【问题描述】:

假设有几个以编程方式创建的按钮,并且有一个通用的按钮处理程序。

onButtonClicked(){
// print button attribute
}

如何在处理程序内部了解按下了哪个按钮?

没有在函数调用中传递一些特殊的东西。那不行: onButtonClicked("button" + i);

例如,在 JavaScript 中,处理程序内部有 $(this),它会立即“理解”按下了哪个按钮。

也许 Flutter 中也有类似的机制?我想将属性挂在按钮上(事先不知道哪些属性),然后在处理程序中访问它们。

【问题讨论】:

  • 您能否提供更多有关您如何生成按钮和调用onPressed 的详细信息?
  • 对不起,我没有真实的例子。我只是尝试构建我的第一个应用程序。它将是 json 解析器中的一些 foreach,它将生成几个按钮,其属性取自 json。
  • 那么我想你会从 JSON 中获得唯一的属性,并且基于它,你可以为它设置条件。抱歉,您还没有任何问题,请尝试实现您的代码,分享您为解决问题所做的努力,我们中的一些人可能会帮助您。

标签: flutter button attributes handler


【解决方案1】:

我认为只有一种方法可以在函数中写入 print('your function name')

【讨论】:

  • 但我需要按钮属性,其中任何一个
  • 你想在consule上回复对吧?
  • 不明白这个问题。我想做一些函数,可以访问按钮的动态构建属性。
【解决方案2】:

只需在方法中传递参数即可。 例如:-

 onButtonClicked(Parameter){
  // print button attribute
  print("${parameter}");
}

并为不同的按钮传递不同的参数。

【讨论】:

  • 将来我需要大约 50 个参数,而且在开始时我不知道它的名称。然后,我不想每次需要再添加一个参数时都编辑代码。
猜你喜欢
  • 2013-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
  • 2020-12-14
  • 1970-01-01
  • 2013-09-23
相关资源
最近更新 更多