HbSelect constructor
HbSelect({
- Key? key,
- String? name,
- bool show = true,
- GlobalKey<
State< ? inputKey,StatefulWidget> > - GlobalKey<
State< ? preKey,StatefulWidget> > - String? label,
- String? email,
- Widget? rightLabel,
- Widget? labelWeight,
- TextEditingController? 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,
- int? maxLength,
- int? maxLines,
- HbValidatorType validatorType = HbValidatorType.require,
- HbValidatorFnType? validator,
- TextInputAction? textInputAction,
- TextInputType? keyboardType,
- ValueChanged<
String> ? onChanged, - ValueChanged<
int> ? onSelected, - ValueChanged<
String> ? onFieldSubmitted, - GestureTapCallback? onTap,
- GestureTapCallback? onBlur,
- List<
HbSelectItemModel> selectItems = const [], - HbRadioController? radioController,
- List<
TextInputFormatter> ? inputFormatters, - bool showIcon = true,
- bool showDescription = true,
- 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,
);