探讨表单如何写比较合理化~~~

311 阅读1分钟

场景:

  • 在工作中表单开发是必不可少的,然而每次产品或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…

如果你有更好的思路,请多多指教!