Skip to content

Form 表单

AhForm 是对 Element Plus Form 的封装,通过配置式的方式快速构建表单。

基本用法

vue
<template>
  <ah-form
    v-model="formData"
    :schema="schema"
    @submit="handleSubmit"
  />
</template>

<script setup>
import { ref, reactive } from 'vue'
import { AhForm } from '@huazio/ah-ui'

const formData = reactive({})

const schema = [
  { prop: 'name', label: '姓名', component: 'input', required: true },
  { prop: 'age', label: '年龄', component: 'number' },
  { prop: 'gender', label: '性别', component: 'select', options: [
    { label: '男', value: 'male' },
    { label: '女', value: 'female' }
  ]},
  { prop: 'birthday', label: '生日', component: 'date' },
  { prop: 'status', label: '状态', component: 'switch' }
]

const handleSubmit = (data) => {
  console.log('提交数据:', data)
}
</script>

配置式表单

通过 schema 配置表单项,无需编写大量模板代码。

参数说明类型默认值
v-model表单数据object-
schema表单配置array[]
rules验证规则object-
label-width标签宽度string'100px'
label-position标签位置string'right'
inline是否行内表单booleanfalse
size表单尺寸string'default'
disabled是否禁用booleanfalse
gutter栅格间隔number20
default-span默认栅格跨度number8
show-actions是否显示操作按钮booleantrue
submit-text提交按钮文本string'提交'
reset-text重置按钮文本string'重置'

Events

事件名说明回调参数
submit提交表单时触发(model: object)
reset重置表单时触发-
change表单项值变化时触发(item: FormSchema, value: any)

Methods

方法名说明参数
validate验证表单-
validateField验证指定字段(prop: string)
resetFields重置表单-
clearValidate清除验证`(prop?: string
getFormModel获取表单数据-

Schema 配置

支持的组件类型:

  • input: 输入框
  • textarea: 文本域
  • select: 选择器
  • radio: 单选框
  • checkbox: 复选框
  • switch: 开关
  • date: 日期选择器
  • daterange: 日期范围
  • time: 时间选择器
  • number: 数字输入框
  • cascader: 级联选择器
  • upload: 上传组件

Released under the MIT License.