TxChipFormField<T, V> constructor
TxChipFormField<T, V> ({
- required List<
T> source, - required ValueMapper<
T, String?> labelMapper, - ValueMapper<
T, V?> ? valueMapper, - ValueMapper<
T, bool> ? disabledWhen, - List<
T> ? initialData, - List<
V> ? initialValue, - int? minCount,
- int? maxCount,
- double? spacing,
- double? runSpacing,
- WrapAlignment? alignment,
- WrapAlignment? runAlignment,
- WrapCrossAlignment? crossAxisAlignment,
- FocusNode? focusNode,
- Key? key,
- FormFieldSetter<
List< ? onSaved,T> > - FormFieldValidator<
List< ? validator,T> > - bool? enabled,
- AutovalidateMode? autovalidateMode = AutovalidateMode.onUserInteraction,
- String? restorationId,
- InputDecoration? decoration,
- ValueChanged<
List< ? onChanged,T> ?> - bool? required,
- bool? bordered = false,
- IndexedValueMapper<
T, Widget> ? avatarBuilder, - IndexedValueMapper<
T, String> ? tooltipMapper, - Widget? label,
- String? labelText,
- TextAlign? labelTextAlign,
- TextOverflow? labelOverflow,
- EdgeInsetsGeometry? padding,
- FieldActionsBuilder<
List< ? actionsBuilder,T> > - TextStyle? labelStyle,
- double? horizontalGap,
- Color? tileColor,
- Axis? layoutDirection,
- TxFormFieldBuilder<
List< ? trailingBuilder,T> > - Widget? leading,
- VisualDensity? visualDensity,
- ShapeBorder? shape,
- Color? iconColor,
- Color? textColor,
- TextStyle? leadingAndTrailingTextStyle,
- GestureTapCallback? onTap,
- double? minLeadingWidth,
- double? minLabelWidth,
- double? minVerticalPadding,
- bool? dense,
- bool? colon,
- Color? focusColor,
Implementation
TxChipFormField({
required List<T> source,
required ValueMapper<T, String?> labelMapper,
ValueMapper<T, V?>? valueMapper,
ValueMapper<T, bool>? disabledWhen,
List<T>? initialData,
List<V>? initialValue,
int? minCount,
int? maxCount,
double? spacing,
double? runSpacing,
WrapAlignment? alignment,
WrapAlignment? runAlignment,
WrapCrossAlignment? crossAxisAlignment,
super.focusNode,
super.key,
super.onSaved,
FormFieldValidator<List<T>>? validator,
super.enabled,
super.autovalidateMode,
super.restorationId,
super.decoration,
super.onChanged,
super.required,
super.bordered = false,
IndexedValueMapper<T, Widget>? avatarBuilder,
IndexedValueMapper<T, String>? tooltipMapper,
super.label,
super.labelText,
super.labelTextAlign,
super.labelOverflow,
super.padding,
super.actionsBuilder,
super.labelStyle,
super.horizontalGap,
super.tileColor,
super.layoutDirection,
super.trailingBuilder,
super.leading,
super.visualDensity,
super.shape,
super.iconColor,
super.textColor,
super.leadingAndTrailingTextStyle,
super.onTap,
super.minLeadingWidth,
super.minLabelWidth,
super.minVerticalPadding,
super.dense,
super.colon,
super.focusColor,
}) : super(
runSpacing: runSpacing ?? 8.0,
spacing: spacing ?? 8.0,
alignment: alignment,
runAlignment: runAlignment,
crossAxisAlignment: crossAxisAlignment,
itemBuilder: (field, index, data, onChanged) => _ChipItem(
index: index,
item: source[index],
data: data,
labelMapper: labelMapper,
enabled: field.isEnabled,
onChanged: field.didChange,
disabledWhen: disabledWhen,
avatarBuilder: avatarBuilder,
minCount: minCount,
maxCount: maxCount,
tooltipMapper: tooltipMapper,
),
itemCount: source.length,
initialValue: TxMultiPickerFormField.initData<T, V>(
source,
initialData,
initialValue,
valueMapper,
),
validator: (value) => TxMultiPickerFormField.generateValidator<T>(
value,
validator,
required,
minCount,
maxCount,
),
);