🌟
【Flutter】引数を持つコールバック関数を子 Widget で実行したい
そういう時、ありますよね。以下サンプルです。
子の Widget
class ChildWidget extends StatelessWidget {
const ChildWidget({
Key? key,
required this.users,
required this.onPressedCallback,
}) : super(key: key);
final List<User> users;
final Function(int)? onPressedCallback;
Widget build(BuildContext context) {
return users.map(user) {
SampleButton(
...
onPressed: () => onPressedCallback(user.id)
)
}
}
}
親側 (利用側)
ChildWidget(
users: users,
onPressedCallback: (userId) => _sampleFunction(userId),
)
...
void sampleFunction(int userId) {
...
}
親側で (userId) => _sampleFunction(userId),
な風に書けば、子 Widget 側で引数ありのコールバック関数を実行できることを知った今日この頃でした。
Discussion