Elemnt ui 组件封装(table)
<template>
<div class="table">
<el-table
:data="tableData2"
:border="tableConfig.border"
style="min-width: 800px"
:size="tableConfig.size"
:cell-style="tableConfig.cellStyle"
:header-cell-style="tableConfig.headCellStyle"
:stripe="tableConfig.stripe"
>
<slot name="col"></slot>
<el-table-column
v-for="(col, index) in colsData"
:prop="col.prop"
:key="col.prop"
:label="col.label"
:width="tableConfig.colWidth"
>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<slot name="operate">
<el-button-group>
<el-button
style="margin-right: 20px"
type="primary"
size="small"
@click="handleEdit(scope.row)"
>编辑</el-button
>
<el-button
type="warning"
size="small"
@click="handleDelete(scope.row)"
>删除</el-button
>
</el-button-group>
</slot>
</template>
</el-table-column>
</el-table>
<el-pagination
style="margin-top: 20px"
v-if="tableConfig.pagination"
:currentPage="currentPage"
:page-size="pageSize"
:page-sizes="[5, 10, 20, 30]"
background
layout="sizes, prev, pager, next"
:total="tableData.length"
@size-change = "handleSizeChange"
@current-change = "handleChange"
>
</el-pagination>
</div>
</template>
<script>
export default {
name: "rTable",
data() {
return {
currentPage: 1,
pageSize: 5
}
},
computed: {
tableData2() {
return this.tableData.slice((this.currentPage-1)*this.pageSize,this.currentPage*this.pageSize);
}
},
props: {
tableData: {
type: Array,
required: true,
},
tableConfig: {
type: Object,
//表单配置
default: function() {
return {
border: true,
size: "small",
cellStyle: { textAlign: "center" },
headCellStyle: { textAlign: "center" },
stripe: true,
colWidth: "180",
//是否显示分页
pagination: true
};
},
},
colsData: {
type: Array,
required: true,
}
},
methods: {
handleEdit: function (row) {
this.$emit("edit", row);
},
handleDelete: function (row) {
this.$emit("delete", row);
},
//页码改变时触发
handleSizeChange: function(val) {
this.pageSize = val;
},
handleChange(val) {
this.currentPage = val;
}
},
mounted() {},
};
</script>
<style lang="scss" scoped></style>
Elemnt ui 组件封装(table)的更多相关文章
- Elemnt ui 组件封装(form)
<template> <el-form class="form" :inline="formConfig.inline" :model=&qu ...
- 前端如何搭建vue UI组件库/封装插件(从零到有)
需求 因之前是做外包项目居多,经常用到相同的组件,之前的办法是在一个项目中写一个组件,其他项目直接将compents下的组件复制,粘贴到项目中使用,缺点是维护起来,改一个项目,其他项目也需要修改,所以 ...
- Vue + Element-ui实现后台管理系统(5)---封装一个Form表单组件和Table表格组件
封装一个Form表单组件和Table组件 有关后台管理系统之前写过四遍博客,看这篇之前最好先看下这四篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-syste ...
- (Element UI 组件 Table)去除单元格底部的横线
Element UI 组件 Table 有一个属性 border,添加它可以增加纵向边框,但是无法控制横线边框,因此即使是最简单的 el-table,也会包含一个底部横线. 这个底部横线其实是一个 b ...
- Vue + Element UI 实现权限管理系统 (功能组件封装)
组件封装 为了避免组件代码的臃肿,这里对主要的功能部件进行封装,保证代码的模块化和简洁度. 组件结构 组件封装重构后,试图组件结构如下图所示 代码一览 Home组件被简化,包含导航.头部和主内容三个组 ...
- Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装
组件封装 为了避免组件代码的臃肿,这里对主要的功能部件进行封装,保证代码的模块化和简洁度. 组件结构 组件封装重构后,试图组件结构如下图所示 代码一览 Home组件被简化,包含导航.头部和主内容三个组 ...
- [开源] 基于Layui组件封装的后台模版,HG-Layui-UI通用后台管理框架V1.0版
HG框架简介 HG-Layui-UI框架,是基于layui最新版UI搭建的一套通用后台管理框架,借鉴了市面上各大主流框架风格,采用iframe标签页实现,保留了传统开发模式的简单实用性. 为快速开发减 ...
- 造个自己的Vue的UI组件库类似Element
前言 随着前端的三大框架的出现,组件化的思想越来越流行,出现许多组件库.它能够帮助开发者节省时间提高效率, 如React的Ant-design,Vue的iView,Element等,它们的功能已经很完 ...
- Bootstrap Blazor 组件介绍 Table (一)自动生成列功能介绍
Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...
随机推荐
- Java的重载以及与重写的区别
一.什么是方法重载 方法的重载就是在同一个类中,有着若干个名字相同的方法.在具体调用这些方法的时候,通过传递参数的不同来调用这些重载方法. 二.为什么需要方法重载 方法名的定义需要做到见名知意,功能类 ...
- Pytorch自动混合精度(AMP)介绍与使用
背景: pytorch从1.6版本开始,已经内置了torch.cuda.amp,采用自动混合精度训练就不需要加载第三方NVIDIA的apex库了.本文主要从三个方面来介绍AMP: 一.什么是AMP? ...
- Vue 项目中常遇到的问题
刷新页面,传的参数类型变了 问题描述 vue-router通过query传参,比如:?fromWork=true&extraType=1,传过去的fromWork是boolean型,extra ...
- 解释AOP模块 ?
AOP模块用于发给我们的Spring应用做面向切面的开发, 很多支持由AOP联盟提供,这样就确保了Spring和其他AOP框架的共通性.这个模块将元数据编程引入Spring.
- Eureka和ZooKeeper都可以提供服务注册与发现的功能,请说说两个的区别?
1.ZooKeeper保证的是CP,Eureka保证的是AP ZooKeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但是选举期间不可用的 Eureka各个节点是平等关系,只要有一台Eureka ...
- jQuery--事件案例(鼠标提示)
1.文字提示 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- java-file类 hei
File类 /* java.io.File类 文件和目录轮径的抽象形式 java把电脑种的文件和文件夹,封装为一个file类,我们可以使用file类对文件和文件夹进行曹祖 使用File类的方法 创建一 ...
- 实验配置cisco单臂路由
第一步 搭建实验拓扑图 第二步 对路由器做基本配置 为路由器创建名称: 设置进入特权模式 口令:控制台登录密码:vty登录密码 禁用DNS查找: 加密明文密码: 创建一个向访问设备者发出警告的标语&q ...
- 用一个文件,实现迷你 Web 框架
当下网络就如同空气一样在我们的周围,它以无数种方式改变着我们的生活,但要说网络的核心技术变化甚微. 随着开源文化的蓬勃发展,诞生了诸多优秀的开源 Web 框架,让我们的开发变得轻松.但同时也让我们不敢 ...
- 决策树3:基尼指数--Gini index(CART)
既能做分类,又能做回归.分类:基尼值作为节点分类依据.回归:最小方差作为节点的依据. 节点越不纯,基尼值越大,熵值越大 pi表示在信息熵部分中有介绍,如下图中介绍 方差越小越好. 选择最小的那个0.3 ...