Element表格(el-table)如何封装

前言

vue2搭配使用的框架基本都是Element-ui,如何开发时每次都过去复制,需要删除一部分,增加一部分,如果碰到的是表单类型的table表格,那更麻烦。因此在符合公司应用场景下面对Element的el-table表格进行了二次封装。

一、效果展示

一个el-table表格的封装,需要考虑多个方面,实用,适用,自适应,动态并且尽量不脱离element文档(因为你不一定会写文档)

这是我使用效果,这个表格的封装,还集成了分页

二、基础封装

el-table表格的封装不是一蹴而就,要根据使用场景来一步一步完善,也许你要说我把Table Attributes里面的属性全部封装进去不就行了,这样确实可以,但没必要,像border、size、show-header等一些属性,其实是不用封装,直接写死的,因为一套系统,不会存在不同风格的table表格。

el-table的封装第一步,就是以Element里面el-table的基础表格为模板,进行改造。

 <template>
   <div>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        v-for="(item, index) in tableHead"
        :key="index"
        :prop="item.prop"
        :label="item.label"
        :width="item.width || '80'">
      </el-table-column>
    </el-table>
   </div>
  </template>

<script>
    export default {
    props: {
         tableData: {
              type: Array, // 表格
              default: () => [],
            },
        tableHead: {
              type: Array, // 表格
              default: () => [], // 举个荔枝 [{prop: 'name', label:'名字', width: '180'}]
         },
    },
      data() {
        return {
          
        }
      }
    }
  </script>

tableHead: Array,按上方代码,其中有prop(字段key),label(表头label)、width(单元宽度)三个属性

tableData:Array,按Element-ui的来

这样一个简单地额表格就封装完成了,后面只用不停的写JSON文件就行。

三、封装进阶

虽然上一步已经封装成功了,但是过于简陋没法使用,需要进一步封装,比如序号、复选框、高度自适应,如有需要,可以前往仓库查看

npm-publish-test: NPM包发布配置模板,内嵌有表格,搜索,表单插件。使用详情请看主页icon-default.png?t=N7T8https://gitee.com/cainiao_web/npm-publish-test.git

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值