Skip to content

Form

这是一个Form 表单

基础用法

这是一个表单

{ "msg": "", "name": "", "email": "", "sex": "" }
*
4-6位
*
vue
<script setup lang="ts">
import { reactive, ref } from 'vue';
import type { FormInstance } from '@/index';

const formRef = ref<FormInstance>();
const form = reactive({
  msg: '',
  name: '',
  email: '',
  sex: '',
});

const rules = {
  msg: { type: 'string', required: true, min: 4, max: 6 },
  email: { type: 'email' },
};

function validate() {
  formRef.value?.validate();
}

function clearValidate() {
  formRef.value?.clearValidate();
}

const handlerValidate = (...args: any[]) => console.log(args);
</script>

<template>
  {{ form }}
  <v-form ref="formRef" label-suffix=":" :model="form" :rules="rules" @validate="handlerValidate">
    <v-form-item name="msg" label="msg" help="4-6位">
      <v-input v-model="form.msg" />
    </v-form-item>
    <v-form-item name="name" label="name" required>
      <v-input v-model="form.name" />
    </v-form-item>
    <v-form-item name="email" label="email">
      <v-input v-model="form.email" />
    </v-form-item>
    <v-form-item label="sex">
      <v-input v-model="form.sex" />
    </v-form-item>

    <v-button type="button" @click="validate">
      validate
    </v-button>
    <v-button type="button" @click="clearValidate">
      clearValidate
    </v-button>
  </v-form>
</template>

Form API

Form 属性

属性名说明类型默认值
labelSuffix表单标签的后缀string-
model表单数据对象object-
rules表单验证规则, 参考async-validatorobject-

Form 插槽

插槽名描述
default默认插槽

Form Item API

Form Item 属性

属性名说明类型默认值
label标签文本string-
forlabel 原生属性string-
name表单字段名称string-
help说明内容string-
status校验状态string-
rules表单验证规则object-
validator校验函数function-
error错误信息string-
required是否为必填项booleanfalse
labelWidth标签宽度string-
showErrorMessage是否为凸起按钮booleantrue

Form Item 插槽

插槽名描述
default默认插槽

根据 ISC 许可证发布.