element plus表格和分页
2023-12-15 19:22:41
需求背景:
? ? ? ? 通过接口获取数据(全部数据,未分页),然后把数据展示在表格上(支持分页)
1.获取数据(tableList为获取到的全部数据)
this.$http.post('/xxxxx', { id }).then((res) => {
if (res.status == 0) {
this.tableList = res.data
//进行分页数据处理的方法
this.initData()
} else {
this.$message.error(res.info)
}
})
2.对数据进行分页处理(pageTable为表格中展示的数据)
initData() {
this.pageTable = this.tableList.filter(
(item, index) => index < this.pageNum * this.pageSize
&& index >= this.pageSize * (this.pageNum - 1),
)
},
3.表格和分页
<el-table
:data="pageTable"
style="width: 100%"
border
height="250"
:header-cell-style="{ backgroundColor: '#f7f8fa', color: 'black' }"
>
<el-table-column fixed prop="skuName" label="商品名称" min-width="120" />
<el-table-column prop="skuId" label="SKU ID" min-width="120" />
<el-table-column prop="thirdCode" label="供应商商品编码" min-width="120" />
<el-table-column prop="brandName" label="品牌" min-width="120" />
<el-table-column label="操作" v-if="pageType != 'see'">
<template #default="scope">
<a style="cursor: pointer; color: #165bd3"
@click="removeProduct(scope.$index, scope.row)">
移除
</a>
</template>
</el-table-column>
</el-table>
<el-pagination
style="margin-top: 10px; float: right"
v-model:current-page="pageNum"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 30, 40]"
layout="total, sizes, prev, pager, next, jumper"
:total="tableList.length"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
4.分页的方法
//分页
handleSizeChange(e) {
this.pageSize = e
this.initData()
},
handleCurrentChange(e) {
this.pageNum = e
this.initData()
},
效果:
文章来源:https://blog.csdn.net/mfxcyh/article/details/134920071
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!