Element Table 业务封装与思考

前言

新项目 Elemnet UI 组件业务封装,封装需求满足后期不修改业务代码,直接更新前端的封装组件的UI库代码即可实现无缝切换UI库的需求。目前新项目的功能产品还在梳理,项目第一期还未开始,前端技术小组先行进行的组件封装。

Table 组件封装目标

  • 封装的用法要和 Element UI Table 组件的用法保持一致
    • 目的是降低引用(使用)成本
  • 支持纯数据绑定
  • 支持自定义模板满足业务定制化需求

Table 组件封装内容

目录结构

components  封装组件目录
  talbe
    Index.vue
    TableColumn.vue
    
Views
  CenterPage.vue 组件调用层
table/Index.vue

这个文件默认封装了 el-table 组件外层,里面使用 v-bind="$attrs":xxx="config.xxx" 模式,在 el-table 内层使用 slot 来接受,这样可以满足表格的自定义模板需求,如果只是渲染基本数据,可以直接把 el-table-column 也封装好,如代码中的注释部分




table/TableColumn.vue

这个文件封装的 el-table-column , 这里面同样了用了 slot 主要用于支持表格列中的自定义部分,添加了一个自定义的参数 isNativeRenter ,表示当前列配置是否是原生数据绑定渲染





注意

这里面的