vue element table封装

本文介绍了如何对Vue+Element的table组件进行二次封装,以适应后台管理系统的需要。封装内容包括自定义搜索选项、是否启用checkbox、特殊选项支持和自定义操作栏。通过组件化和混入的JS,提高了开发效率。
摘要由CSDN通过智能技术生成

对vue element table二次封装

最近公司要做一个后台管理系统,框架用vue + element,很多模块要用到table组件,基于此现状,对table进行了简单的封装,可以支持自定义搜索选项,可设置是否选择checkbox,增加了对特殊选项的支持,自定义操作栏。
以下是代码:

table组件

<template>
  <!-- 表格 公共组件   包含表格上面的搜索栏 表头 操作栏 都是自定义的 -->
  <div>
    <div class="search-box">
      <slot name="searchBox"></slot>
    </div>
    <el-table
      class="public-table"
      v-loading="loading"
      :data="tableData"
      style="width: 100%"
      :max-height="tableHeight? tableHeight: height"
      @selection-change="handleSelectionChange"
    >
      <el-table-column v-if="isShowSelect" type="selection" width="55"></el-table-column>
      <el-table-column
        v-for="obj in tableConfiguration"
        :prop="obj.prop"
        :key="obj.key"
        :label="obj.label"
        :width="obj.width"
      >
        <template slot-scope="scope">
          <slot name="specialItem" :row="scope.row" :column="obj.prop"></slot>
        </template>
      </el-table-column>
      <el-table-column v-if="isShowOperate" fixed="right" label="操作" :width="operateWidth">
        <template slot-scope="scope">
          <slot name="operateBox" :row="scope.row"></slot>
        </template>
      </el-table-column>
    </el-table>
    <!-- 分页栏 -->
    <el-pagination
      v-if="pagination"
      background
      layout="total, sizes, prev, pager, next, jumper"
      :page-sizes="[5,10,20,30]"
      :page-size="pagination.pageSize"
      :total="pagination.total"
      :current-page="pagination.page"
      @size-change="handleSizeChange"
      @current-change="currentChange"
    ></el-pagination>
  </div>
</template>

<script>
export default {
   
  name
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值