group<T> static method

Widget group<T>({
  1. required List<T> options,
  2. required T? selectedValue,
  3. required ValueChanged<T> onChanged,
  4. required String labelBuilder(
    1. T value
    ),
  5. bool isDisabled = false,
  6. String? errorText,
})

Implementation

static Widget group<T>({
  required List<T> options,
  required T? selectedValue,
  required ValueChanged<T> onChanged,
  required String Function(T value) labelBuilder,
  bool isDisabled = false,
  String? errorText,
}) {
  return Column(
    crossAxisAlignment: CrossAxisAlignment.start,
    children: [
      Wrap(
        spacing: 12,
        runSpacing: 8,
        children: options.map((option) {
          return UiRadioButton<T>(
            value: option,
            groupValue: selectedValue,
            label: labelBuilder(option),
            onChanged: onChanged,
            isDisabled: isDisabled,
          );
        }).toList(),
      ),
      if (errorText != null)
        Padding(
          padding: const EdgeInsets.only(top: 4),
          child: Text(errorText, style: const TextStyle(color: Colors.red)),
        ),
    ],
  );
}