例如,如果我将相同的方法分配给两个不同按钮的onPressed属性,方法中是否有方法来判断按下了哪个按钮?
我在文档中看到onPressed是一个VoidCallback,所以传递参数似乎是不可能的。
答案 0 :(得分:0)
正如 Darky 所说,你必须通过按钮上的onPressed事件创建一个方法来调用标记作为参数。
有时你需要上下文,所以我把它作为一个可选参数
// on regular buttons
onPressed: ()=> onPress( "button.menu")
// when you need the context
onPressed: ()=> onPress( "button.nav", context)
方法应该是这个
void onPress(String tag,[BuildContext context]){
switch(tag){
case "button.nav":
// here the specific event for the tag = button.nav
Navigator.of(context).pushNamed('/home');
break;
default:
// here the default event
break;
}
}