CrySelect constructor

CrySelect({
  1. Key? key,
  2. String? label,
  3. String? value,
  4. ValueChanged? onChange,
  5. FormFieldSetter? onSaved,
  6. List<SelectOptionVO> dataList = const [],
})

Implementation

CrySelect({
  Key? key,
  String? label,
  String? value,
  ValueChanged? onChange,
  FormFieldSetter? onSaved,
  List<SelectOptionVO> dataList = const [],
}) : super(
        key: key,
        label: label,
        builder: (CryFormFieldState state) {
          return DropdownButtonFormField<String>(
            decoration: InputDecoration(
              contentPadding: EdgeInsets.symmetric(horizontal: 10),
              border: OutlineInputBorder(),
            ),
            value: value,
            items: dataList.map((v) {
              return DropdownMenuItem<String>(
                value: v.value as String?,
                child: Text(v.label!),
              );
            }).toList(),
            onChanged: (v) {
              value = v;
              if (onChange != null) {
                onChange(v);
              }
              state.didChange();
            },
            onSaved: (v) {
              if (onSaved != null) {
                onSaved(v);
              }
            },
          );
        },
      );