Vue3 Element-plus分页效果动态数据展示

Vue3 Element-plus实现分页动态数据展示

环境:vue3+ts+vite+element plus
接着前面的axios封装请求数据,继续

直接贴代码

<template>
    <div class="news">
        <ul>
            <li v-for="item in state.list">
                {{item.title}}
            </li>
        </ul>
        <div>
            <el-divider></el-divider>
            <el-pagination
                    background
                    layout="total, sizes, prev, pager, next, jumper"
                    :total="state.total"
                    :page-size="state.pageSize"
                    :current-page="state.pageNum"
                    @size-change="handleSizeChange"
                    @current-change="handleCurrentChange"
            />
        </div>
    </div>
</template>

<script setup lang="ts">
import {onMounted, reactive} from "vue";
import getApi from "@/utils/api";
const state=reactive({
    list:<any>[],
    pageNum:1,//当前页面
    pageSize:10,//每页数量
    total:<number>'',
})
/*页数变化触发*/
const handleSizeChange = (val: any) => {
    state.pageSize = val;
    getList()
};
/*页码变化触发*/
const handleCurrentChange=(val: any)=>{
    state.pageNum = val;
    getList()
}
const getList=()=>getApi.getData("/content/newPage/?column_id=14",{pageNum:state.pageNum,pageSize:state.pageSize}).then((res)=>{
    console.log(res)
    state.list=res.data.list;
    state.total = res.data.total
    state.pageNum = res.data["current_page"];
    state.pageSize = res.data["per_page"];
})
onMounted(()=>{
    getList()
})
</script>

效果:
在这里插入图片描述
根据自己的接口请求的数据,对应好每页数量,当前页,总数等参数赋值即可,请求参数只需要当前页pageNum 和每页数量pageSize 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值