Skip to content

Form 表单

基础用法

基础用法

最基础的表单包括各种输入表单项,比如input、select、radio、checkbox等。

在每一个 form 组件中,你需要一个 form-item 字段作为输入项的容器,用于获取值与验证值。

基础用法
Form 组件的基础用法
邮箱
密码
<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。

基础用法
Form 组件的基础用法
邮箱
密码
<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属性来定义不同类型的按钮。

基础用法
Form 组件的基础用法
邮箱
密码
<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>