前端代替后端做分页操作

如果后端没有分页api,前端如何做分页

一、使用computed

这个变量应该是计算之后的值,是一个状态管理变量,跟onMounted类似
ts 复制代码
import {computed} from 'vue'
// 定义ref储存rolelist,这里是原始数据
const roleList = ref([])

// 定义页码
let pageIndex = ref(1)
// 定义显示的列表
let showRoles = computed(() => {
	// 切片操作
	return roles.value.slice((pageIndex.value-1) * 10, pageIndex)
})

// 查询数据操作,自己写
将showRoles替换绑定表格数据,我这里是组件,是父传子定义的一个变量tableData,如果你这里插入的是一个表格,那么应该是:Data="showRoles"
html 复制代码
	<PublicTables :tableData="showRoles" @multipleSelection="handleSelection">

                <!-- <template #selection ></template> -->

                <template #tableColumn>

                    <el-table-column property="roleId" label="角色ID" />

                    <el-table-column property="roleName" label="角色名" />

                </template>

                <template #operation>

                    <el-table-column label="操作">

                        <template #default="scope">

                            <el-button size="small" @click="handleEdit(scope.row)">

                                编辑

                            </el-button>

                            <el-button size="small" type="danger" @click="handleDelete(scope.row)">

                                删除

                            </el-button>

                        </template>

                    </el-table-column>

                </template>

            </PublicTables>

二、添加分页器

template中添加分页器
html 复制代码
	<el-pagination size="small" background layout=" prev, pager, next, total" :total="roleList.length" :current-page="pageIndex" />
这里current-page绑定绑定的页码会保持同步,分页器总页数就是roleList的长度。
到这里应该已经实现了前端分页功能
相关推荐
卡兰芙的微笑12 分钟前
get_property --Cmakelist之中
前端·数据库·编辑器
覆水难收呀15 分钟前
三、(JS)JS中常见的表单事件
开发语言·前端·javascript
猿来如此呀22 分钟前
运行npm install 时,卡在sill idealTree buildDeps没有反应
前端·npm·node.js
hw_happy28 分钟前
解决 npm ERR! node-sass 和 gyp ERR! node-gyp 报错问题
前端·npm·sass
FHKHH32 分钟前
计算机网络第二章:作业 1: Web 服务器
服务器·前端·计算机网络
视觉小鸟1 小时前
【JVM安装MinIO】
前端·jvm·chrome
二川bro2 小时前
【已解决】Uncaught RangeError: Maximum depth reached
前端
qq22951165023 小时前
python毕业设计基于django+vue医院社区医疗挂号预约综合管理系统7918h-pycharm-flask
前端·vue.js·express
八了个戒3 小时前
Koa (下一代web框架) 【Node.js进阶】
前端·node.js
Sca_杰3 小时前
vue2使用npm引入依赖(例如axios),报错Module parse failed: Unexpected token解决方案
前端·javascript·vue