一、回调的本质
"在Flutter的世界里,回调(Callback)是UI交互与业务逻辑解耦的核心设计模式。本质上是通过函数对象的传递,实现'事件发生-通知响应'的编程范式。"
核心概念图解
┌─────────────┐ 触发事件 ┌─────────────┐ │ Widget │ ────────────────> │ 逻辑层 │ │ (按钮/手势) │ <──────────────── │ (回调函数) │ └─────────────┘ 回调执行 └─────────────┘
关键词植入:Dart函数对象 事件驱动编程 Widget通信
二、Flutter中的5种回调实践
1. 基础回调(函数传递)
// 定义回调类型
typedef VoidCallback = void Function();
// 使用案例
ElevatedButton(
onPressed: () => print("按钮被点击"), // 匿名函数回调
child: Text("点击我")
)
2. 带参数的回调
// 定义带参数的回调
typedef ValueChanged<T> = void Function(T value);
// 输入框回调示例
TextField(
onChanged: (String text) {
print("用户输入: $text");
}
)
3. 异步回调(Future)
Future<void> _loadData() async {
var data = await http.get(url);
_onComplete?.call(data); // 可选回调
}

最低0.47元/天 解锁文章
3487

被折叠的 条评论
为什么被折叠?



