Js实现纯数组页码器,使用element pagination样式 vue3+ts

复制代码
 <el-table :data=" tableData">
 <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" class="mt15"
          :pager-count="5" :page-sizes="[20, 30, 40]" v-model:current-page="currentPage" background
          v-model:page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total">
        </el-pagination>

<el-table :data=" tableData">

复制代码
const currentPage = ref(1); // 当前页码
const pageSize = ref(20); // 每页数据条数
const total = ref(0); // 数据总数




const getTableList = async () => {
  const res = await TM.API.GetAPIMethodInfoList()
  tableAllData.value = res
  tableData.value = tableAllData.value.slice((currentPage.value - 1) * pageSize.value, currentPage.value * pageSize.value);
  total.value = res.length;
}

const onHandleSizeChange = (newSize: number) => {
  pageSize.value = newSize;
  // currentPage.value = 1; // 切换每页数据条数时,回到第一页
  tableData.value = tableAllData.value.slice((currentPage.value - 1) * pageSize.value, currentPage.value * pageSize.value);
};

const onHandleCurrentChange = (newPage: number) => {
  currentPage.value = newPage;
  tableData.value = tableAllData.value.slice((currentPage.value - 1) * pageSize.value, currentPage.value * pageSize.value);
};
相关推荐
拾光拾趣录4 分钟前
用Promise打造智能任务队列
前端·javascript·promise
遂心_6 分钟前
当 React 遇见数据获取:Ajax 与 Axios 的奇妙冒险 🚀
前端·javascript·react.js
然我8 分钟前
纯函数:相同输入必出相同输出?这才是代码界的 “老实人”
前端·javascript·面试
晴殇i14 分钟前
Vue i18n插件:实现Web应用多语言切换的
前端·javascript·vue.js
奈斯啊奈斯_22 分钟前
前端解决浏览器版本延迟问题(webpack)
前端·javascript
bug爱好者31 分钟前
原生小程序如何实现Table表格功能
前端·javascript·面试
泉城老铁1 小时前
springboot+vue实现快速文件上传详细指南
vue.js·后端·架构
小码编匠1 小时前
一款开源多功能文档在线预览解决方案,支持主流格式一键部署
vue.js·spring boot·后端
林太白1 小时前
vite7.0更新赶紧学起来,Rolldown用起来,更新速览
前端·javascript·vue.js
enzeberg1 小时前
JavaScript 垃圾回收
javascript