flutter_input_library/lib/src/inputs/radio/radio_picker_field.dart
2024-08-07 10:38:33 +02:00

49 lines
1.2 KiB
Dart

import "package:flutter/material.dart";
import "package:flutter_input_library/src/inputs/radio/radio_picker.dart";
class RadioPicker extends StatefulWidget {
const RadioPicker({
required this.onChanged,
required this.items,
this.initialValue,
super.key,
});
final RadioItem? initialValue;
final Function(RadioItem) onChanged;
final List<RadioItem> items;
@override
State<RadioPicker> createState() => _RadioPickerState();
}
class _RadioPickerState extends State<RadioPicker> {
late RadioItem? value = widget.initialValue;
@override
Widget build(BuildContext context) => Wrap(
children: [
for (var item in widget.items) ...[
Row(
mainAxisSize: MainAxisSize.min,
children: [
item.child,
Radio<RadioItem>(
value: item,
groupValue: value,
onChanged: (v) {
if (v != null) {
setState(() {
value = v;
});
widget.onChanged(v);
}
},
),
],
),
],
],
);
}