|
@@ -39,14 +39,16 @@ class _VCheckBoxGroupState<T, TValue>
|
|
|
final length = widget.source.length;
|
|
|
for (var i = 0; i < length; i++) {
|
|
|
final e = widget.source[i];
|
|
|
+ final value = widget.valueGetter(e);
|
|
|
+ final isChecked = _checkedValues.contains(value);
|
|
|
children.add(
|
|
|
SizedBox(
|
|
|
width: widget.itemWidth ?? 160,
|
|
|
child: VCheckBoxButton(
|
|
|
label: widget.labelGetter(e),
|
|
|
- isChecked: false,
|
|
|
- onChanged: (value) {
|
|
|
- _onItemChanged(e, value);
|
|
|
+ isChecked: isChecked,
|
|
|
+ onChanged: (status) {
|
|
|
+ _onItemChanged(value, status);
|
|
|
},
|
|
|
),
|
|
|
),
|
|
@@ -59,8 +61,7 @@ class _VCheckBoxGroupState<T, TValue>
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- void _onItemChanged(T data, bool isChecked) {
|
|
|
- final value = widget.valueGetter(data);
|
|
|
+ void _onItemChanged(TValue value, bool isChecked) {
|
|
|
if (isChecked) {
|
|
|
if (_checkedValues.contains(value) == false) {
|
|
|
_checkedValues.add(value);
|