select<T> static method

ArcaneField<T> select<T>({
  1. String? name,
  2. String? description,
  3. String? icon,
  4. required T defaultValue,
  5. required List<T> options,
  6. required Future<T> getter(),
  7. required Future<void> setter(
    1. T
    ),
  8. String labelBuilder(
    1. T
    )?,
})

Implementation

static ArcaneField<T> select<T>({
  String? name,
  String? description,
  String? icon,
  required T defaultValue,
  required List<T> options,
  required Future<T> Function() getter,
  required Future<void> Function(T) setter,
  String Function(T)? labelBuilder,
}) => ArcaneField<T>(
  meta: ArcaneFieldMetadata(name: name, description: description, icon: icon),
  provider: ArcaneFieldDirectProvider(
    defaultValue: defaultValue,
    getter: (_) => getter(),
    setter: (_, v) => setter(v),
  ),
  builder: (context, value, onChanged) => _SelectFieldBuilder<T>(
    value: value,
    options: options,
    onChanged: onChanged,
    labelBuilder: labelBuilder ?? (v) => v.toString(),
  ),
);