Commit 041cb5cd by 1377875331@qq.com

IStreamTableDocpan补充

parent 835e150f
<template>
<div class="eContainer-table-block">
<el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" style="width: 100%" class="eContainer-table" :header-cell-style="{background: 'eef1f6', color: '#606266'}">
<el-table-column
v-for="(item, key) in tableColumns"
:key="key"
:prop="item.prop"
:label="item.label"
:width="item.width"
></el-table-column>
<slot></slot>
</el-table>
<el-pagination
class="eContainer-pagination"
layout="prev, pager, next, jumper"
:page-sizes="pageSizes"
:page-size="pageSize"
:current-page="currentPage"
:total="tableData.length"
@size-change="sizeChange"
@current-change="currentChange"
></el-pagination>
<div class="paginationLable">当前显示第 {{(currentPage - 1) * pageSize + 1}}-{{currentPage * pageSize > tableData.length ? tableData.length : currentPage * pageSize}} 条,共 {{tableData.length}}</div>
</div>
</template>
<script>
export default {
props: {
columns: {
type: Array,
default: () => {
return [];
},
},
list: {
type: Array,
default: () => {
return [];
},
},
column: {
default: () => {
return [];
},
}
},
computed: {
tableColumns() {
const arr = [];
for (let i = 0; i < this.columns.length; i++) {
const vals = this.columns[i].split(" ")
arr.push({
prop: vals[0],
label: vals[1],
width: "auto",
});
this.column.push(vals[0]);
}
return arr;
},
tableData() {
const temp = this.column;
const res = [];
return this.list.map((row) => {
const res = {}
for (let i = 0; i < temp.length; i++) {
res[temp[i]] = row[temp[i]];
}
return res;
});
},
},
data() {
return {
currentPage: 1,
pageSizes: [5, 10, 20, 30, 40, 50, 100],
pageSize: 5
};
},
methods: {
sizeChange(size) {
this.pageSize = size;
},
currentChange(currentPage) {
this.currentPage = currentPage;
}
}
};
</script>
<style>
.eContainer-table-block .paginationLable{
font-size: 12px;
color: #808080;
height: 26px;
line-height: 26px;
float:right;
margin-top:20px;
}
.eContainer-table-block .el-table__body-wrapper {
overflow: auto;
}
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment