# FormItem 表单项

FormItem不是一个组件,是一系列数据录入组件的统称。 这些组件都有公共的属性、参数和功能。

# 公用属性参数

表单项的公共属性参数,继承 el-form-item 的的全部特性。 需要与MyForm结合使用才有效。

参数名称 类型 默认值 说明
name String - 表单域 model 字段名称, 等价于 el-form-item 的 prop 参数
width String - 宽度,css属性,支持像素,百分比和表达式,也可以在MyForm中统一设置itemWidth
props Object - 输入组件参数对象,即 el-form-item 包含的组件参数
options Array - 选项数据,有选项的输入组件才有效
keyMap Object {id, parentId, label, value} 选项数据对象属性名称映射
collapsible Boolean false 可收起
stopEnterEvent Boolean false 阻止回车事件冒泡
depend String - 依赖字段名称
dependValue * - 依赖字段的值,即依赖字段的值等于该值才会显示,可以设置匹配函数
cascade String - 级联的上级字段名称,需要与loader配合加载数据
loader Function - 加载数据函数,必须返回Promise
dict String - 字典名称,只是标识,需要与loader配合 或 表单的dictMap加载数据
disabled Boolean - 禁用
readonly Boolean - 只读
placeholder String - 占位文本

# 使用方式

表单项组件有两种调用方式:

  • 单独使用
  • MyForm结合使用

# 单独使用

表单项组件可单独使用。注意:单独使用时与表单相关的公共参数功能即失效。用法:

单独使用等价于:

<el-input placeholder="请输入标题" v-model="title"></el-input>
1

# 结合MyForm

通常表单项需要结合MyForm使用,才能能便利实现数据录入功能。

等价于:

  <el-form :model="model" @submit="handleSubmit">
    <el-form-item prop="title" label="标题">
       <el-input v-model="title" placeholder="请输入标题"></el-input>
    </el-form-item>
  </el-form>

1
2
3
4
5
6

# 通用功能

# 样式设置

通过设置表单项宽度可实现行列排版

# 输入组件参数

表单项内部都包含了一个输入组件,如:my-input 是 el-form-item 和 el-input 的结合体, 内部输入组件就是el-input. 输入组件的参数通过 props 设置。

# 选项数据

有选项数据的输入组件通过options参数设置。以下表单项组件有选项:

  • my-select
  • my-checkbox
  • my-radio
  • my-cascader
  • my-tag-select
  • my-tree-select

# 数据加载函数

options 的数据也可以通过函数加载,常用在需要远程请求获取的数据

# 折叠

设置 collapsible 可以实现折叠表单项,常用在筛选条件多的时候,把次要的折叠起来,节省空间。

# 依赖

当表单项显示的条件是根据其他表单项的值来确定时,可以设置 dependdependValue 来实现。

# 级联

当表单项的选项数据时根据其他表单项的值来决定的,设置 cascade,配合loader来加载选项数据

# 选项数据对象属性名称映射

有选项数据的输入组件通过keyMap参数设置映射。以下表单项组件有选项:

  • my-select
  • my-checkbox
  • my-radio
  • my-cascader
  • my-tag-select
  • my-tree-select

# 表单项组件

表单项组件包括以下组件。

# Autocomplete 自动完成

根据输入内容提供对应的输入建议。

基于 el-autocomoplete 实现, 兼容 el-autocomoplete 全部的参数、插槽和事件。

# Cascader 级联选择器

基于 el-cascader 实现, 兼容 el-cascader 全部的参数、插槽和事件。

数据源: $docs/data/tree.json,组件默认支持有父子关系的一维数组(树的原始数组,没有children)。亦可以支持完整的树结构数组(性能优化)

# DatePicker 日期时间选择器

# Checkbox 多选框

# ColorPicker 颜色选择器

# Editor 富文本编辑器

# Input 文本输入框

# InputNumber 数字输入框

# Radio 单选框

# Range 范围输入框

# Rate 评分

# Select 下拉选择框

# Slider 滑块

# Switch 开关

# TagInput 标签输入框

# TagSelect 标签选择

# TreeSelect 下拉树选择框