近期在开发搜索管理系统的时候,由于业务需求需要,基于iview开发了一个动态表单组件
对于调用者,只需要传入表单项的定义,还有对应表单项的值,即可动态渲染出表单,同时支持配置表单是全部渲染还是手动逐步添加显示表单项
代码如下:
- dynamic-form.vue
1 | <template> |
form
属性是一个数组转成的字符串,数组中每一个对象需要包含以下属性:
required
是否必填hintText
hintText文本name
表单项的namenote
表单项的labeltype
表单项的类型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: