element plus表格和分页

需求背景:

通过接口获取数据(全部数据,未分页),然后把数据展示在表格上(支持分页)

1.获取数据(tableList为获取到的全部数据)

javascript 复制代码
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为表格中展示的数据)

javascript 复制代码
initData() {
    this.pageTable = this.tableList.filter(
        (item, index) => index < this.pageNum * this.pageSize 
            && index >= this.pageSize * (this.pageNum - 1),
    )
},

3.表格和分页

html 复制代码
<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.分页的方法

javascript 复制代码
//分页
handleSizeChange(e) {
  this.pageSize = e
  this.initData()
},
handleCurrentChange(e) {
  this.pageNum = e
  this.initData()
},

效果:

相关推荐
TimberWill18 小时前
CONCAT函数使用中出现空指针异常问题分析
数据库
TDengine (老段)18 小时前
TDengine 字符串函数 CHAR_LENGTH 用户手册
大数据·数据库·时序数据库·tdengine·涛思数据
Mintopia18 小时前
🤖 具身智能与 WebAIGC 的融合:未来交互技术的奇点漫谈
前端·javascript·aigc
Mintopia18 小时前
🧠 Next.js × GraphQL Yoga × GraphiQL:交互式智能之门
前端·后端·全栈
wind_one118 小时前
5.基础--SQL--DDL数据库操作
数据库·sql
TDengine (老段)18 小时前
TDengine 数学函数 CRC32 用户手册
java·大数据·数据库·sql·时序数据库·tdengine·1024程序员节
llxxyy卢18 小时前
SQL注入之二次、加解密、DNS等注入
数据库·sql
数据库学啊18 小时前
供暖季技术实战:益和热力用 TDengine 时序数据库破解热力数据处理难题
数据库·时序数据库·tdengine
JarvanMo18 小时前
Bitrise 自动化发布 Flutter 应用终极指南(二)
前端
SEO_juper18 小时前
搜索引擎索引权威指南:抓取、收录与排名的基础
数据库·搜索引擎·seo·数字营销