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(),
      ),
    );