<!-- 关键是对总数据的截取 tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize) -->
<div>
<el-button type="success" @click="exportExcel">导出</el-button>
<el-table
:data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
style="width: 100%"
>
<el-table-column prop="date" label="日期" width="180"> </el-table-column>
<el-table-column prop="name" label="姓名" width="180"> </el-table-column>
<el-table-column prop="address" label="地址"> </el-table-column>
</el-table>
<!-- 分页器 -->
<div class="block" style="margin-top: 15px">
<el-pagination
align="center"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[1, 5, 10, 20]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.length"
>
</el-pagination>
</div>
</div>
</template>
<script>
import * as XLSX from 'xlsx'
import FileSaver from 'file-saver'
export default {
name: "elementui",
data() {
return {
name: "elementUi",
tableData: [
{
date: "1",
name: "第一页",
address: "上海市普陀区金沙江路 1518 弄",
},
{
date: "2",
name: "第二页",
address: "上海市普陀区金沙江路 1517 弄",
},
{
date: "3",
name: "第三页",
address: "上海市普陀区金沙江路 1519 弄",
},
{
date: "4",
name: "第四页",
address: "上海市普陀区金沙江路 1516 弄",
},
{
date: "5",
name: "第五页",
address: "上海市普陀区金沙江路 1519 弄",
},
{
date: "6",
name: "第六页",
address: "上海市普陀区金沙江路 1516 弄",
},
{
date: "7",
name: "第一页",
address: "上海市普陀区金沙江路 1518 弄",
},
{
date: "8",
name: "第二页",
address: "上海市普陀区金沙江路 1517 弄",
},
{
date: "9",
name: "第三页",
address: "上海市普陀区金沙江路 1519 弄",
}
],
currentPage: 1, // 当前页码
total: 20, // 总条数
pageSize: 2, // 每页的数据条数
};
},
methods:{
//分页导出
exportExcel(){
//导出那个表格的数据
let ws = XLSX.utils.json_to_sheet(this.tableData)
let wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb,ws)
return XLSX.writeFile(wb,Math.random()+'.xlsx')
},
//每页条数改变时触发 选择一页显示多少行
handleSizeChange(val){
this.currentPage = 1
this.pageSize = val
},
//当前页改变时触发 跳转其他页
handleCurrentChange(val){
this.currentPage = val
}
}
};
</script>