近期在开发搜索管理系统的时候,由于业务需求需要,基于iview开发了一个动态表单组件
对于调用者,只需要传入表单项的定义,还有对应表单项的值,即可动态渲染出表单,同时支持配置表单是全部渲染还是手动逐步添加显示表单项
代码如下:
- dynamic-form.vue
| 1 | <template> | 
form属性是一个数组转成的字符串,数组中每一个对象需要包含以下属性:
required是否必填
hintTexthintText文本
name表单项的name
note表单项的label
type表单项的类型
tips提示文本
- form-items-map.js
| 1 | import FormInput from './form-items/form-input' | 
FormInput、FormCheckbox、FormRadio、FormSelect、FormTextarea都是重写的表单项,具有统一的props
- form-input.vue
| 1 | <template> | 
- form-checkbox.vue
| 1 | <template> | 
- form-radio.vue
| 1 | <template> | 
- form-select.vue
| 1 | <template> | 
- form-textarea.vue
| 1 | <template> | 
至此一个动态表单组件就完成了,记录一哈,嘿嘿:yum:
 
     
        