函数中的回调函数参数的使用
函数 A.X在函数B 中完成回调
A->B-A.X()
变量定义:
VoidCallback callDo
调用时的参数可以有两种方式传入:
1、X
2,()=>X()
static showBottomMessage(BuildContext context, VoidCallback? callDo, String whateToDo, String actionNameWhat, String resultTip) { ScaffoldMessenger.of(context).hideCurrentSnackBar(); ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(whateToDo), action: SnackBarAction( label: actionNameWhat, onPressed: () { ScaffoldMessenger.of(context).hideCurrentSnackBar(); ScaffoldMessenger.of(context).showSnackBar(SnackBar( duration: Duration(seconds: 10), action: SnackBarAction( label: '确定启动吗?', onPressed: () { if (callDo != null) { callDo(); } print('****已启动!'); }, ), content: Text( resultTip, ))); }, ), )); }
调用:
Common.showBottomMessage(context, () => showTip(), '开启网络访问权限', '开启', '意味着需要消耗更多的网络流量!');
函数定义
void showTip() { Common.showMsg(context, '底部提示回调函数执行成功', '回调函数'); }
另外:
还有以下类型可以使用
- VoidCallback是一个匿名函数,它不接受任何参数并且不返回任何值。
- ValueGetter是一个匿名函数,它返回一个值,您提供给想要获取它的人。
- ValueSetter是一个匿名函数,它将一个值作为参数,您可以使用它来设置其他一些值。
分类:
flutter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通