iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于element-ui表格的二次封装怎么实现
  • 179
分享到

基于element-ui表格的二次封装怎么实现

2023-07-02 17:07:22 179人浏览 八月长安
摘要

这篇文章主要讲解了“基于element-ui表格的二次封装怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于element-ui表格的二次封装怎么实现”吧!在项目中经常会使用到ele

这篇文章主要讲解了“基于element-ui表格的二次封装怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于element-ui表格的二次封装怎么实现”吧!

项目中经常会使用到element的表格,如果每次都cv,也确实有点麻烦,基于这个情况我对表格进行了二次封装

写一个Table组件

首先先写表格样式

    <el-table      :data="tableData"      :header-cell-      :height="height"      :border="border"      @selection-change="handleSelectionChange"    >      <el-table-column        v-if='selection'        type="selection"        width="55">      </el-table-column>      <el-table-column        v-for="v in tableProp"        :key="v.label"        :prop="v.code"        :sortable='v.sortable'        :label="v.label"        :width="v.width"      >        <template slot-scope="scope">          <div v-if='!v.code'>            {{ scope.row[scope.column.property] }}          </div>          <div v-else>              <slot name="row" :row="scope.row"></slot>          </div>        </template>        <el-table-column          v-for="(item, i) in v.data"          :key="i"          :sortable='item.sortable'          align="center"          :width="item.width"          :prop="item.code"          :label="item.label"        >          <template slot-scope="scope">              <div v-if='!v.code'>                {{ scope.row[scope.column.property] }}              </div>              <div v-else>                  <slot name="row" :row="scope.row"></slot>              </div>          </template>        </el-table-column>      </el-table-column>       <el-table-column label="操作" v-if='ishandle'>        <template slot-scope="scope">          <slot name="edit" :row="scope.row" :index="scope.$index"></slot>        </template>      </el-table-column>    </el-table>

tableData为当前显示的数据,tableProp为表头的名称,可以为多级也可以为单级,区别为data是否存在,headerStyle为表头样式,height为表的高度,sortable以该列为基准的排序,border是否显示边框,handleSelectionChange多选,selection是否显示多选,ishandle是否显示操作,这里使用插槽进行写操作

export default {  props: {    height: {      type: Number,      default: 220,    },    ishandle:{      type: Boolean,      default: false,    },    border:{      type: Boolean,      default: false,    },    tableProp: {      type: Array,      default: () => [        {          code: 'index',          label: '指标',          width: 100,        },        {          code: 'PAC',          label: 'PAC',          width: 120,          data:{            code: 'PAB',            label: 'PAB',            width: 60,              }        },        {          code: 'PAM',          label: 'PAM',          width: 60,          code:true,        },        {          code: 'POWER_CONSUMPTION',          label: '综合电耗(kW·h)',          width: 50,        },        {          code: 'WATER_CONSUMPTION',          label: '自用水率(%)',        },      ],    },    tableData: {      type: Array,      default:() => [        {          index:1,          PAC:'1'          PAM:'1',          POWER_CONSUMPTION:'1',          WATER_CONSUMPTION:'1'        }      ]    },    Style:{      type:String,      default:'font-size: 12px;padding:0;line-height: inherit;font-weight: 500;color: #6A7474;'    }  },  data() {    return {      show: false,    };  },  methods: {  // 样式    headerStyle() {      return this.Style;    },    // 多选    handleSelectionChange(val){      this.$emit('SelectionChange',val)    }  },};

第二步加分页

<el-pagination      :background='background'      :layout="layout"      :total="total"      :page-size="pageSize"      :current-page.sync="current"      :page-sizes="pageSizes"      @size-change="handleSizeChange"      @current-change="handleCurrentChange"      :hide-on-single-page='singlepage'      >    </el-pagination>

background背景是否显示,layout组件布局,子组件名用逗号分隔,total总条数,pageSizes每页显示个数选择器的选项设置,current当前页码,pageSize每页显示条目个数,singlepage只有一页时是否隐藏,handleSizeChangepageSize 改变时会触发,handleCurrentChange改变时会触发

export default {  props: {    background: {      type: Boolean,      default: false,    },    layout:{      type: String,      default: 'total, sizes, prev, pager, next, jumper',    },    total:{      type: Number,      default: 100,    },    pageSize:{      type: Number,      default: 10,    },    pageSizes:{      type: Array,      default: () => [10, 20, 30, 40, 50, 100],    },    singlepage: {      type: Boolean,      default: false,    },    current:{      type: Number,      default: 1,    },  },  methods: {    // pageSize 改变时会触发    handleSizeChangepageSize (val) {      this.$emit('handleSizeChangepageSize ',val)    },    // currentPage 改变时会触发    handleCurrentChange(val){      this.$emit('handleCurrentChange',val)    }  },};

在页面中使用

先引入Table.Vue页面

        <Table          :height="90"          class="left-top-table"          :tableData="tableIndex"          :tableProp="tableProp"          @handleCurrentChange='handleCurrentChange'          @handleSizeChangepageSize ='handleSizeChangepageSize '        >          <template slot="edit" slot-scope="scope">            <el-button size="mini" @click="handleEdit(scope.index, scope.row)"              >编辑</el-button            >          </template>        </Table>
//pageSize 改变时会触发handleCurrentChange(val){....}// currentPage 改变时会触发handleSizeChangepageSize (val){....}// 编辑方法handleEdit(index,row){....}

更多的可以根据自己项目的需求进行修改,这只是一个大概的项目雏形

感谢各位的阅读,以上就是“基于element-ui表格的二次封装怎么实现”的内容了,经过本文的学习后,相信大家对基于element-ui表格的二次封装怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 基于element-ui表格的二次封装怎么实现

本文链接: https://www.lsjlt.com/news/343577.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于element-ui表格的二次封装怎么实现
    这篇文章主要讲解了“基于element-ui表格的二次封装怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于element-ui表格的二次封装怎么实现”吧!在项目中经常会使用到ele...
    99+
    2023-07-02
  • Vue基于Element-ui怎么实现表格弹窗组件
    本篇内容主要讲解“Vue基于Element-ui怎么实现表格弹窗组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue基于Element-ui怎么实现表格弹窗组件”吧!效果图使用方式acTab...
    99+
    2023-06-30
  • Vue基于Element-ui实现表格弹窗组件
    本文实例为大家分享了Vue基于Element-ui实现表格弹窗组件的具体代码,供大家参考,具体内容如下 效果图 使用方式 acTable1 () {   this.$modalTa...
    99+
    2024-04-02
  • 基于Element-Ui封装公共表格组件的详细图文步骤
    项目组最近需要把老项目拆出来表格都是独立的需要重新封装公共的表格组件 以下是实现逻辑以及部分截图 实现逻辑是类似于antd-vue框架的写法,将columns拆出来 在columns...
    99+
    2024-04-02
  • Element怎么使用el-table组件实现二次封装
    这篇文章主要讲解了“Element怎么使用el-table组件实现二次封装”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Element怎么使用el-table组件实现二次封装”吧!一、安装引...
    99+
    2023-07-02
  • vue-cli对element-ui组件进行二次封装的实战记录
    目录为什么要element对进行二次封装?如何对element对进行二次封装?总结为什么要element对进行二次封装? 1.element-ui组件的部分样式不满足当前项目的需求。...
    99+
    2024-04-02
  • Element Plus组件Form表单Table表格二次封装的完整过程
    目录前言Form表单的封装简述正常的使用开始封装①开始封装②开始封装③开始封装④完整封装代码⑤配置项类型文件配置项文件form表单组件文件page-search组件文件role页面组...
    99+
    2024-04-02
  • 关于Element-UI可编辑表格的实现过程
    目录一、 可编辑单元格的实现二、 Input框编辑时动态查询(下拉列表)三、 点击图标显示下拉、点击图标显示Dialog的实现一、 可编辑单元格的实现 实现效果:点击可编辑 实现原...
    99+
    2024-04-02
  • 关于element中表格和表单的封装方式
    目录pc端基础的表格组件的封装pc端基础的表单组件的封装表格的样式表单的样式混入的封装将以上三个文件挂在到main.js中组件的使用1·基础案例2·特殊案...
    99+
    2024-04-02
  • vue中Element-ui表格怎么实现树形结构表格
    这篇文章主要为大家展示了“vue中Element-ui表格怎么实现树形结构表格”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中Element-ui表格怎么实现树形结构表格”这篇文章吧。本文...
    99+
    2023-06-15
  • Vue+Element UI实现下拉菜单的封装
    本文实例为大家分享了Vue+Element UI实现下拉菜单封装的具体代码,供大家参考,具体内容如下 1、效果图 先贴个效果图,菜单项没有做样式美化,图中显示的边框也是没有的(边框是...
    99+
    2024-04-02
  • Vue3+Vite+TS实现二次封装element-plus业务组件sfasga
    目录1.结构字符串2.返回tuple元组3.访问Dict字典4.运用库5.在列表中切片/步进 6.用 ranges 1.结构字符串 你会经常需求打印字符串。要是有很多变量,防止下面这...
    99+
    2024-04-02
  • 基于angular实现树形二级表格
    先看效果: 代码: 1、html <div class="userContent_content"> <div> <tab...
    99+
    2024-04-02
  • vue如何实现axios的二次封装
    这篇文章主要介绍“vue如何实现axios的二次封装”,在日常操作中,相信很多人在vue如何实现axios的二次封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何实现axios的二次封装”的疑惑有所...
    99+
    2023-07-04
  • element-ui中Table表格省市区合并单元格怎么实现
    这篇文章主要为大家展示了“element-ui中Table表格省市区合并单元格怎么实现”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“element-ui中Tab...
    99+
    2024-04-02
  • 基python+selenium的二次封装方法是什么
    本篇内容主要讲解“基python+selenium的二次封装方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基python+selenium的二次封装方法是什么”吧!  首先在根目录下创...
    99+
    2023-06-02
  • vue element-ui动态横向统计表格的实现
    目录element-ui动态横向统计表格关于element-ui表格问题表格图片显示问题表格中多出一条线element-ui动态横向统计表格 表格结构 <el-table ...
    99+
    2022-11-13
    vue element-ui 动态横向统计表格 vue element-ui 动态表格
  • Flutter中网络框架dio的二次封装怎么实现
    这篇文章主要介绍“Flutter中网络框架dio的二次封装怎么实现”,在日常操作中,相信很多人在Flutter中网络框架dio的二次封装怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Flutter中网...
    99+
    2023-06-30
  • 关于Element-ui中el-table出现的表格错位问题解决
    目录前言1、数据更新后出现的错位问题1.1 直接在数据赋值后执行doLayout方法1.2在生命周期updated里执行doLayout方法2、浏览器窗口大小变化时出现的错...
    99+
    2024-04-02
  • Element怎么实现动态表格
    本篇内容介绍了“Element怎么实现动态表格”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录【代码背景】【代码实现】#1# -> ...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作