场景:
- 在工作中表单开发是必不可少的,然而每次产品或ui给到我们前端的时候表单都有很多相似的地方,这时候,我们是不是可以把表单内容抽离出来?
- 抽离出来的话我们需要考虑的点有哪些?配置表单?表单联动?校验表单?
思路:
- 表单提交关心的只有表单结果数据
- 校验表单由表单自身完成
- 表单联动可以由表单组件回调方法出来
- 表单是通过配置出来的
在这大海贼时代,哦你啊呐努。也是大前端时代,我们应该顺势而为,作者这边以element-ui提供的表单组件对其再包一层,上效果图:
效果地址点这里
核心代码
{
attr: 'id',
name: '名称',
value: '值',
type: '组件类型',
props: '组件属性'
}
因为是基于element-ui的表单封装的,所以属性值直接继承element-ui的表单所有属性。
- 【attr】主要用于区分组件唯一性,考虑用到哪个组件有变化
- 【name】表单项名称
- 【value】表单内容
- 【type】表单类型,这边基础组件全部和element-ui组件同名,并用首字母大写规定
- 【props】表单项属性和element-ui表单组件保持一致
思考
【type】值是唯一的,自己定义组件表单关心的也只有【value】和【attr】,而自定义组件就像是一个单例模式,所有业务处理都应该由它自身处理完成然后输出最终结果。
最后奉献一下源码地址,喜欢的朋友麻烦给个star,
github.com/MrRetro/ele…
如果你有更好的思路,请多多指教!