当前位置:   article > 正文

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

vue2 elementui 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的基础表格为模板,进行改造。

  1. <template>
  2. <div>
  3. <el-table
  4. :data="tableData"
  5. style="width: 100%">
  6. <el-table-column
  7. v-for="(item, index) in tableHead"
  8. :key="index"
  9. :prop="item.prop"
  10. :label="item.label"
  11. :width="item.width || '80'">
  12. </el-table-column>
  13. </el-table>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. props: {
  19. tableData: {
  20. type: Array, // 表格
  21. default: () => [],
  22. },
  23. tableHead: {
  24. type: Array, // 表格
  25. default: () => [], // 举个荔枝 [{prop: 'name', label:'名字', width: '180'}]
  26. },
  27. },
  28. data() {
  29. return {
  30. }
  31. }
  32. }
  33. </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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/621625
推荐阅读