select<T> static method
Creates a select/dropdown field.
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(),
),
);