Flutter 颤振:带ON按下选项的蛇形杆
我正在使用Snackbar的以下代码Flutter 颤振:带ON按下选项的蛇形杆,flutter,dart,Flutter,Dart,我正在使用Snackbar的以下代码 void _showSnackBar(BuildContext context, String message, Color color) { final snackBar = SnackBar( duration: Duration(seconds: 3), backgroundColor: color, content: Text(message), ); _scaffoldKey.curren
void _showSnackBar(BuildContext context, String message, Color color) {
final snackBar = SnackBar(
duration: Duration(seconds: 3),
backgroundColor: color,
content: Text(message),
);
_scaffoldKey.currentState.showSnackBar(snackBar);
}
这就是我在需要的地方如何称呼它
_showSnackBar(context,'Account created Successfully.',Colors.green);
它运转良好,完全正常。我看不出有什么问题
但现在我需要在Snackbar中添加Onclick选项。
就像下面的代码
action: SnackBarAction(
label: 'Undo',
onPressed: () {
// Some code to undo the change.
},
),
我不知道如何添加它以及在哪里添加它
请建议
编辑:
再多解释一下我想要实现的目标
void _showSnackBar(BuildContext context, String message, Color color) {
如何传递OnPressed事件的参数?这就是我遇到的问题。我认为这可以通过以下方式实现:
SnackBar(
content: Text('Yay! A SnackBar!'),
action: SnackBarAction(
label: 'Undo',
onPressed: () {
// Some code to undo the change.
},
),
)
我认为这可以通过以下方式实现:
SnackBar(
content: Text('Yay! A SnackBar!'),
action: SnackBarAction(
label: 'Undo',
onPressed: () {
// Some code to undo the change.
},
),
)
这可以通过以下代码实现:
void _showSnackBar(BuildContext context, String message, Color color) {
final snackBar = SnackBar(
duration: Duration(seconds: 3),
backgroundColor: color,
content: Text(message),
action: SnackBarAction(
label: 'Undo',
onPressed: (){}
)
);
_scaffoldKey.currentState.showSnackBar(snackBar);
}
您可以在SnackBar的此处找到更多信息:这可以通过以下代码实现:
void _showSnackBar(BuildContext context, String message, Color color) {
final snackBar = SnackBar(
duration: Duration(seconds: 3),
backgroundColor: color,
content: Text(message),
action: SnackBarAction(
label: 'Undo',
onPressed: (){}
)
);
_scaffoldKey.currentState.showSnackBar(snackBar);
}
您可以在此处找到有关SnackBar的更多信息:您可以将任何需要的参数传递给自定义的
\u showSnackBar
方法,在该方法中,您可以使用这些参数执行任何操作
在我看来:
void _showSnackBar(BuildContext context, String message, Color color) {
final snackBar = SnackBar(
duration: Duration(seconds: 3),
backgroundColor: color,
content: Text(message),
action: SnackBarAction(
label: 'Undo',
onPressed: (){
print(color);
/// do what you want with passed color or message
}
)
);
_scaffoldKey.currentState.showSnackBar(snackBar);
}
您可以将任何需要的参数传递给自定义的
\u showSnackBar
方法,在该方法中,您可以使用这些参数执行任何操作
在我看来:
void _showSnackBar(BuildContext context, String message, Color color) {
final snackBar = SnackBar(
duration: Duration(seconds: 3),
backgroundColor: color,
content: Text(message),
action: SnackBarAction(
label: 'Undo',
onPressed: (){
print(color);
/// do what you want with passed color or message
}
)
);
_scaffoldKey.currentState.showSnackBar(snackBar);
}
谢谢你的否决票。我不知道为什么它会被否决。我想我已经提供了细节。就像我所做的和预期的一样,不要求完整的解决方案。谢谢你的否决票。我不知道为什么它会被否决。我想我已经提供了细节。就像我所做的和预期的一样,不要问完整的解决方案。谢谢。让我试试你的建议。投票通过了,谢谢。让我试试你的建议。投赞成票。你的回答很好,但不能解决我的问题。好像您看到了我的代码,我正在将其作为函数调用,但不确定如何传递OnPressed事件的参数。@讽刺的是,您的意思是:void showSnackBar(BuildContext上下文、字符串标签、颜色、SnackBarAction动作){final snackBar=snackBar(content:Text(label)),backgroundColor:color,action:action,);Scaffold.of(context.showSnackBar(snackBar);}你的回答很好,但没有解决我的问题。好像您看到了我的代码,我正在将其作为函数调用,但不确定如何传递OnPressed事件的参数。@讽刺的是,您的意思是:void showSnackBar(BuildContext上下文、字符串标签、颜色、SnackBarAction动作){final snackBar=snackBar(content:Text(label)),backgroundColor:color,action:action,);Scaffold.of(context.showSnackBar(snackBar);}