radioGroupRow<T> method

RadioGroup<T> radioGroupRow<T>({
  1. required String name,
  2. required List<LabelValue<T>> items,
  3. T? initValue,
  4. required VoidCallback onUpdateState,
  5. double spacing = 0.0,
  6. MainAxisSize mainAxisSize = .max,
  7. MainAxisAlignment mainAxisAlignment = MainAxisAlignment.spaceAround,
  8. CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
})

Implementation

RadioGroup<T> radioGroupRow<T>({
  required String name,
  required List<LabelValue<T>> items,
  T? initValue,
  required VoidCallback onUpdateState,
  double spacing = 0.0,
  MainAxisSize mainAxisSize = .max,
  MainAxisAlignment mainAxisAlignment = MainAxisAlignment.spaceAround,
  CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
}) {
  _valueMap[name] ??= initValue;
  return RadioGroup<T>(
    groupValue: _valueMap[name],
    onChanged: (v) {
      _valueMap[name] = v;
      onUpdateState();
    },
    child: Row(
      children: items.mapList((e) => RowMin([Radio(value: e.value), e.label.text()])),
      spacing: spacing,
      mainAxisSize: mainAxisSize,
      mainAxisAlignment: mainAxisAlignment,
      crossAxisAlignment: crossAxisAlignment,
    ),
  );
}