Skip to content

Form ​

简易介绍 ​

form表单组件,用于收集用户输入的数据并进行校验。
form表单的实现标签有两种<MYForm></MYForm>或者<MYForm />和<MYForm-item></MYForm-item>或者<MYForm-item />。来实现表单

基础用法 ​

使用v-model绑定表单数据,通过rules属性设置校验规则。

代码演示
展开代码

多种表单控件 ​

表单支持多种控件类型,包括输入框、开关、单选框、复选框等。

代码演示
展开代码

行内布局 ​

使用inline属性可以设置表单为行内布局。

代码演示
展开代码

自定义标签宽度 ​

使用labelWidth属性可以自定义标签的宽度。

代码演示
展开代码

不同尺寸 ​

使用size属性可以设置表单的尺寸。

代码演示
展开代码

验证触发器 ​

使用validateTrigger属性可以设置验证触发的时机。

代码演示
展开代码

禁用状态 ​

使用disabled属性可以禁用整个表单。

代码演示
展开代码

组合使用 ​

最后,实现个多种api组合使用实现个完整表单:

代码演示
展开代码

API 参考 ​

Form Props ​

参数说明类型可选值默认值
modelValue表单数据object—{}
rules校验规则object—{}
labelWidth标签宽度string | number支持像素值和auto'auto'
inline是否行内布局boolean—false
size表单大小stringlarge/medium/small/mini'medium'
disabled是否禁用boolean—false

FormItem Props ​

参数说明类型可选值默认值
label标签名string—''
prop字段名string—''
validateTrigger验证触发器stringblur/change'blur'
rules校验规则object—{}
labelWidth标签宽度string | number——
size表单项大小stringlarge/medium/small/mini'medium'
inline是否行内布局boolean—false
disabled是否禁用boolean—false

Form Methods ​

方法名说明参数
validate验证整个表单—
validateField验证指定字段prop: string
resetFields重置表单—
clearValidate清除验证状态field?: string

类型定义 ​

typescript
interface FormRule {
  required?: boolean;
  message?: string;
  validator?: (rule: FormRule, value: string) => boolean | Promise<boolean>;
  len?: number;
}

interface FormProps {
  modelValue?: Record<string, any>;
  rules?: Record<string, FormRule[]>;
  labelWidth?: string | number;
  inline?: boolean;
  size?: 'large' | 'medium' | 'small' | 'mini';
  disabled?: boolean;
}

interface FormItemProps {
  label?: string;
  prop?: string;
  validateTrigger?: 'blur' | 'change';
  rules?: Record<string, FormRule[]>;
  labelWidth?: string | number;
  size?: 'large' | 'medium' | 'small' | 'mini';
  inline?: boolean;
  disabled?: boolean;
}

基于 MIT 协议