Skip to content

表单 Form

表单组件

基础用法

Show Code
vue
<script lang="ts" setup>
import { ref } from 'vue'
import type { IFormOption } from 'm-eleplus-crud'

const formOption = ref<IFormOption>({
  column: [
    {
      label: '名字',
      prop: 'name',
    },
    {
      label: '性别',
      prop: 'sex',
      type: 'select',
      dicData: [
        {
          label: '男',
          value: 1,
        },
        {
          label: '女',
          value: 2,
        },
      ],
    },
    {
      label: '生日',
      prop: 'birthday',
      type: 'daterange',
    },
  ],
})

const modelForm = ref<any>({})
</script>

<template>
  <div style="width: 100%">
    <MForm :option="formOption" :model="modelForm" />
  </div>
</template>

查看模式

Show Code
vue

Form API

Form Attributes

属性名说明类型默认值
size组件尺寸default | small | large--
loading加载状态booleanfalse
permission权限对象object{}
model表单数据object{}
readonly是否查看模式(只读)booleanfalse
option表单配置IFormOption--

Form 事件

名称说明类型

Form 插槽

名称说明
prop 值prop 属性的值{size, loading}

Form Exposes

名称说明类型
validForm校验表单内容() => Promise<boolean>
clear清空表单内容和重置错误信息() => void

额外类型

IFormOption

属性名说明类型默认值
labelWidth标签宽度string'80px'
column配置项IFormColumn[][]

IFormColumn

属性名说明类型默认值
label标题string--
prop字段名string--
dicData数据字典值{label: string, value: any}[][]
dicUrl数据字典接口 url 地址string--
dicQuery数据字典接口请求参数Record<string, any>--
dicHeaders数据字典接口请求头参数Record<string, any>--
dicFormatter数据字典接口返回数据格式化方法(res: any) => { list: any[]; label: string; value: string }--
multipletype=select 时是否多选booleanfalse
clearabletype=select 或时间类型 时是否可清空booleanfalse
filterabletype=select 时是否可搜索booleanfalse
filterMethodtype=select 时自定义搜索方法(keyword: string) => void--
remotetype=select 时是否可远程搜索boolean--
remotetype=select 时是否可远程搜索boolean--
remoteMethodtype=select 时远程搜索方法(keyword: string) => void--
loadingtype=select 时且开启 remote 远程搜索时候的加载状态boolean--
startPlaceholder时间范围选择器中开始时间的占位符string--
endPlaceholder时间范围选择器中结束时间的占位符string--
format时间类型选择器输入框显示时间的格式stringYYYY-MM-DD/YYYY-MM-DD HH:mm:ss
valueFormat时间类型选择器绑定值时间的格式stringYYYY-MM-DD/YYYY-MM-DD HH:mm:ss
labelWidth单个标签文字宽度string--
order排序字段number--
rules校验规则FormItemRule[]--
span单个占据的栅栏宽度number6
maxlength输入框最大输入长度number--
value单个属性的默认值any--
placeholder占位文本string--
type类型string--

Column Type

名称说明
input输入框
number数字输入框
textarea文本域输入框
password密码输入框
year年选择器
month月选择器
date日期选择器
datetime日期时间选择器
week周选择器
datetimerange日期时间范围选择器
daterange日期范围选择器
monthrange月份范围选择器
yearrange年范围选择器
time时间选择器
timerange时间范围选择器
select下拉选择
checkbox多选框
radio单选框
switch切换框
picture图片展示
qrcode二维码展示
barcode一维码展示