HbSelect constructor

HbSelect({
  1. Key? key,
  2. String? name,
  3. bool show = true,
  4. GlobalKey<State<StatefulWidget>>? inputKey,
  5. GlobalKey<State<StatefulWidget>>? preKey,
  6. String? label,
  7. String? email,
  8. Widget? rightLabel,
  9. Widget? labelWeight,
  10. TextEditingController? controller,
  11. TextEditingController? preController,
  12. String? initialValue,
  13. bool autofocus = false,
  14. bool enabled = true,
  15. bool? readOnly,
  16. String? hintText,
  17. String? uploadTip,
  18. Widget? suffix,
  19. Widget? prefix,
  20. Widget? defaultImage,
  21. Widget? customWidget,
  22. int? maxLength,
  23. int? maxLines,
  24. HbValidatorType validatorType = HbValidatorType.require,
  25. HbValidatorFnType? validator,
  26. TextInputAction? textInputAction,
  27. TextInputType? keyboardType,
  28. ValueChanged<String>? onChanged,
  29. ValueChanged<int>? onSelected,
  30. ValueChanged<String>? onFieldSubmitted,
  31. GestureTapCallback? onTap,
  32. GestureTapCallback? onBlur,
  33. List<HbSelectItemModel> selectItems = const [],
  34. HbRadioController? radioController,
  35. List<TextInputFormatter>? inputFormatters,
  36. bool showIcon = true,
  37. bool showDescription = true,
  38. Function? sendCode,
})

Implementation

HbSelect({
  super.key,
  String? name,
  bool show = true,
  GlobalKey? inputKey, // 输入框的key
  GlobalKey? preKey, // 需要校验的上一个输入框的key,发送验证码会用到
  String? label,
  String? email,
  Widget? rightLabel,
  Widget? labelWeight,
  // 当前文本框的controller
  TextEditingController? controller,
  // 上一个文本框的controller,用于确认密码校验与上一个密码输入框的密码是否相同
  TextEditingController? preController,
  String? initialValue, // 初始值
  bool autofocus = false, // 自动获取焦点
  bool enabled = true, // 是否可用
  bool? readOnly, // 是否只读
  String? hintText, // 提示暗字
  String? uploadTip, // 上传图片右边的提示
  Widget? suffix, // 尾部组件
  Widget? prefix, // 前缀组件
  Widget? defaultImage, // 默认显示图片
  Widget? customWidget, // 自定义weight,与type:custom搭配使用
  int? maxLength, // 输入框长度显示
  int? maxLines, // 输入框行数限制
  // 输入框类型,控制校验数据,尾部图标
  // require(默认必须),email,password,code,confirmPass(确认密码)
  HbValidatorType validatorType = HbValidatorType.require,
  // 需要自定义校验
  HbValidatorFnType? validator,
  // 输入框按钮类型:
  TextInputAction? textInputAction,
  // 键盘类型
  TextInputType? keyboardType,
  // 输入框值变化
  ValueChanged<String>? onChanged,
  // selected值变化
  ValueChanged<int>? onSelected,
  // 输入框点击完成
  ValueChanged<String>? onFieldSubmitted,
  // 输入框被点击
  GestureTapCallback? onTap,
  GestureTapCallback? onBlur,
  // 底部选框的items
  List<HbSelectItemModel> selectItems = const [],
  // 底部弹窗或单选框的controller
  HbRadioController? radioController,
  List<TextInputFormatter>? inputFormatters,
  // 选项是否显示icon
  bool showIcon = true,
  // 选项是否显示描述
  bool showDescription = true,
  // 发送邮件
  Function? sendCode,
}) : data = HbFormData(
        name: name,
        show: show,
        inputKey: inputKey,
        preKey: preKey,
        label: label,
        email: email,
        rightLabel: rightLabel,
        labelWeight: labelWeight,
        controller: controller,
        preController: preController,
        initialValue: initialValue,
        autofocus: autofocus,
        enabled: enabled,
        readOnly: readOnly,
        hintText: hintText,
        uploadTip: uploadTip,
        suffix: suffix,
        prefix: prefix,
        defaultImage: defaultImage,
        customWidget: customWidget,
        maxLength: maxLength,
        maxLines: maxLines,
        validatorType: validatorType,
        validator: validator,
        textInputAction: textInputAction,
        keyboardType: keyboardType,
        onChanged: onChanged,
        onSelected: onSelected,
        onFieldSubmitted: onFieldSubmitted,
        onTap: onTap,
        onBlur: onBlur,
        selectItems: selectItems,
        radioController: radioController,
        inputFormatters: inputFormatters,
        showIcon: showIcon,
        showDescription: showDescription,
        sendCode: sendCode,
      );