表单 Form
将一个或多个表单控件组合,实现具有收集、校验、保存提交功能的表单。
基础用法
基础的表单使用方式。
<template>
<bp-form ref="formRef" :model="form" :label-col="3" :wrapper-col="21">
<bp-form-item field="name" label="Name" :rules="[{ type: 'string', required: true, message: 'Please input your name.' }]">
<bp-input :style="{ width: '100%' }" v-model="form.name" clearable placeholder="Please enter"></bp-input>
</bp-form-item>
<bp-form-item field="intro" label="Introduction">
<bp-textarea
:style="{ width: '100%' }"
:maxlength="500"
show-limit
v-model="form.intro"
clearable
placeholder="Please enter"
></bp-textarea>
</bp-form-item>
<bp-form-item>
<bp-space size="mini">
<bp-button @click="onSubmit">Submit</bp-button>
<bp-button type="text" @click="onReset">Reset</bp-button>
</bp-space>
</bp-form-item>
</bp-form>
</template>
<script setup lang="ts">
import { ref } from "vue";
const formRef = ref();
const form = ref({
name: "",
year: 1,
intro: "",
});
const onSubmit = async () => {
const check = await formRef.value.validate();
};
const onReset = () => {
formRef.value.resetFields();
};
</script>
Form 属性
model | 表单数据对象 | Object | - |
rules | 表单校验规则 | Record<string, RuleItem[]> | - |
layout | 布局方式 | Enum | horizontal |
labelCol | 标签区域栏位数 | Number | 4 |
wrapperCol | 控件区域栏位数 | Number | 20 |
FormItem 属性
label | 标签文本 | String | - |
field | 数据对象路径 | String | - |
rules | 表单校验规则 | Record<string, RuleItem[]> | - |
labelCol | 标签区域栏位数 | Number | 4 |
wrapperCol | 控件区域栏位数 | Number | 20 |
Form 方法
validate | 表单异步验证 | callback?:ValidateCallback | Promise<undefined | ValidateError[]> |
resetFields | 重置表单 | - | - |