Form 表单
基础用法
基础用法
最基础的表单包括各种输入表单项,比如input、select、radio、checkbox等。
在每一个 form 组件中,你需要一个 form-item 字段作为输入项的容器,用于获取值与验证值。
基础用法
<template lang="">
<div>
<el-form :model="model">
<el-form-item label="邮箱" prop="email">
<el-input v-model="model.email"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="model.password" type="password"></el-input>
</el-form-item>
<div>
<el-button type="primary">Submit</el-button>
<el-button type="info">Reset</el-button>
</div>
</el-form>
</div>
</template>
<script lang="ts" setup>
import ElForm from '@/components/Form/Form.vue'
import ElFormItem from '@/components/Form/FormItem.vue'
import ElInput from '@/components/Input/Input.vue'
import ElButton from '@/components/Button/Button.vue'
import { reactive } from "vue";
const model = reactive({
email: '222',
password: '333'
})
</script>
表单验证
Form 组件允许你验证用户的输入是否符合规范,来帮助你找到和纠正错误。
Form 组件提供了表单验证的功能,只需为 rules 属性传入约定的验证规则,并将 form-Item 的 prop 属性设置为需要验证的特殊键值即可。 更多高级用法可参考 async-validator。
基础用法
<template lang="">
<div>
<el-form :model="model" :rules="rules">
<el-form-item label="邮箱" prop="email">
<el-input v-model="model.email"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="model.password" type="password"></el-input>
</el-form-item>
<div>
<el-button type="primary">Submit</el-button>
<el-button type="info">Reset</el-button>
</div>
</el-form>
</div>
</template>
<script lang="ts" setup>
import ElForm from '@/components/Form/Form.vue'
import ElFormItem from '@/components/Form/FormItem.vue'
import ElInput from '@/components/Input/Input.vue'
import ElButton from '@/components/Button/Button.vue'
import { reactive } from "vue";
const model = reactive({
email: '222',
password: '333'
})
const rules = {
email: [{ type: 'string', required: true, trigger: 'blur'}],
password: [ {min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur' }]
}
</script>
清空输入
基础按钮,使用 type属性来定义不同类型的按钮。
基础用法
<template lang="">
<div>
<el-form :model="model" :rules="rules">
<el-form-item label="邮箱" prop="email">
<el-input v-model="model.email"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="model.password" type="password"></el-input>
</el-form-item>
<div>
<el-button type="primary">Submit</el-button>
<el-button type="info">Reset</el-button>
</div>
</el-form>
</div>
</template>
<script lang="ts" setup>
import ElForm from '@/components/Form/Form.vue'
import ElFormItem from '@/components/Form/FormItem.vue'
import ElInput from '@/components/Input/Input.vue'
import ElButton from '@/components/Button/Button.vue'
import { reactive } from "vue";
const model = reactive({
email: '222',
password: '333'
})
const rules = {
email: [{ type: 'string', required: true, trigger: 'blur'}],
password: [ {min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur' }]
}
</script>