Form 表单
基础用法
查看代码
vue
<template>
<div style="width: 450px">
<e-form :data="formValues" ref="formRef">
<e-form-item label="用户名" name="username">
<e-input v-model="formValues.username" />
</e-form-item>
<e-form-item label="密码" name="password">
<e-input v-model="formValues.password" />
</e-form-item>
<e-form-item>
<e-button @click="handleSubmit" type="primary">提交</e-button>
</e-form-item>
</e-form>
</div>
</template>
<script setup lang="ts">
import { reactive, ref } from 'vue'
import { EMessage } from '@/components'
const formRef = ref()
const formValues = reactive({
username: '',
password: '',
mode: ''
})
const handleSubmit = async () => {
await formRef.value.validate()
EMessage.success('校验通过')
}
</script>
表单校验
查看代码
vue
<template>
<div style="width: 450px">
<e-form :data="formValues" ref="formRef">
<e-form-item
label="用户名"
name="username"
:rules="[
{
type: 'string',
required: true,
message: '该字段是必填字段!'
} as RuleItem
]"
>
<e-input v-model="formValues.username" />
</e-form-item>
<e-form-item
label="密码"
name="password"
:rules="[
{
type: 'string',
required: true,
message: '该字段是必填字段!'
} as RuleItem
]"
>
<e-input v-model="formValues.password" type="password" />
</e-form-item>
<e-form-item>
<e-button @click="handleSubmit" type="primary">提交</e-button>
</e-form-item>
</e-form>
</div>
</template>
<script setup lang="ts">
import { reactive, ref } from 'vue'
import type { RuleItem } from 'async-validator'
import { EMessage } from '@/components'
const formRef = ref()
const formValues = reactive({
username: '',
password: '',
mode: ''
})
const handleSubmit = async () => {
await formRef.value.validate()
EMessage.success('校验通过')
}
</script>
Form API
defineProps
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
data | 表单值 | object | -- |
disabled | 禁用整个表单 | boolean | false |
rules | 校验规则 | FormRules | -- |
defineExpose
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
validate | 校验表单 | ()=>Promise | -- |
validateField | 校验某个字段 | (name)=>Promise | -- |
FormItem API
Props
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
label | 字段标签 | string | -- |
name | 字段表示 | string | -- |
rules | 字段校验规则 | FormRule | -- |
Expose
属性名 | 说明 | 类型 |
---|---|---|
validate | 校验整个表单 | ()=>Promise<void> |
validateField | 校验某个字段 | (name)=>Promise<void> |