config 中 rules 和 elements 为什么不分开传入?elements 为什么是数组?
hidumou opened this issue · 1 comments
hidumou commented
config 中 rules 和 elements 为什么不分开传入?
rules 本身会预先配置,elements会存在二次操作。比如 select、radio、checkbox中的数据可能会异步获取。
elements 为什么是数组?
个人觉得应该设计成对象,方便之后修改数据。
伪代码
<e-form
v-model="formValues"
:fields="fields"
:rules="rules"/>
// 绑定字段
formValues: {
title: '',
area: '',
},
// 字段配置
fields: {
title: {
label: '标题',
},
area: {
tag: 'el-radio',
label: '地区',
items: []
},
},
// 字段校验
rules: {
title: { required: true, message: 'qdddd' }
}
// fetch data
this.delay(2000).then(() => {
const area = [
{ text: '西安', label: 2019 },
{ text: '杭州', label: 2018 },
{ text: '上海', label: 2017 }]
this.fields.area.items = area
this.formValues.area = area[0].label
})
felixpy commented
本插件开发之初,主要用于提前配置好 JSON Config 的场景。若有修改配置的需求,可以基于此组件,封装一个支持你所需数据格式的 Wrapper 组件,通过计算属性传递给 FormBuilder。感谢你的反馈!