实现分页数据请求的思路/Element UI(Plus)的分页模板(Vue3.x写法),(直接使用<script>引入vue.js)

1. 效果图:

2.实现分页数据请求的思路:

  分页面对的场景是大量的数据导致渲染速度慢,甚至出现卡顿、掉帧。因此引入分页组件后,我们需要考虑如何将数据与分页相结合。

思路一:前端在请求数据时不请求全部的数据,而是带上分页大小、页码等限定条件。

优点 缺点
每一次请求的数据量小,初次渲染速度更快。 每次执行切换页面等操作都会请求数据,对服务器端要求高。

思路二:前端在请求数据时请求全部的数据,服务器端将数据整理成JSON或其他格式,便于前端根据索引分块使用。

优点 缺点
不需要反复请求数据,每次执行切换页面等操作渲染速度更快。 初次请求数据量大,遇到异常巨大的数据量时,初次渲染速度慢。

  我的想法是在数据量不是异常大的情况下选思路一,数据量异常大的情况下两种思路结合,在不明显影响数据渲染速度的前提下,每次请求数据都尽可能的大。

3. 模板代码如下(注意和vue2的写法有一点儿不一样):

<!DOCTYPE html>
<html lang="ch"> <head>
<meta charset="UTF-8">
<meta name ="viewport" content ="width = device-width" />
<title>gxg</title>
<!-- 导入样式 -->
<link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />
<!-- 导入 Vue 3 -->
<script src="//unpkg.com/vue@next"></script>
<!-- 导入组件库 -->
<script src="//unpkg.com/element-plus"></script>
<style lang="css">
[v-cloak]{
display: none;
}
</style>
</head> <body>
<div id="gxg" v-cloak>
<el-pagination
:default-page-size=100
:page-sizes="[100, 200, 300, 400]"
:small="small"
:disabled="disabled"
:background="true"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div> <script type="text/javascript">
var count = 0;
var Main = {
data() {
return {
total : 0
}
},
methods: {
change(count){
this.total=count;
},
handleSizeChange(val){
console.log('分页大小:'+val);//分页大小发生改变时,触发此函数
},
handleCurrentChange(val) {
console.log('切换到第'+val+'页');//页码发生改变时,触发此函数
}
//上述两个事件,官方并不太支持,后续也将删除,官方更加推荐使用v-model双向绑定
}
}; const gxg = Vue.createApp(Main);
gxg.use(ElementPlus);
GXG = gxg.mount("#gxg");
GXG.change(1000);//这里将总数据量传入
</script>
</body>
</html>

最新文章

  1. boost any库
  2. CSS3关于transition过渡
  3. ZOJ Monthly, August 2014
  4. apacheserver下载、安装、配置
  5. SQLServer2008找出所有包含172.17.224.40字样的存储过程
  6. C++服务器设计(一):基于I/O复用的Reactor模式
  7. 辛星解读为什么PHP须要模板
  8. 【字母全排列】 poj 1256
  9. hdu1698线段树区间更新
  10. 点开GitHub之后,瑟瑟发抖...的我
  11. found 12 vulnerabilities (7 moderate, 5 high) run `npm audit fix` to fix them, or `npm audit` for details
  12. sqlserver 迁移
  13. 遇到短信轰炸,别人换ip调你的短信接口怎么办
  14. ModSecurity SQL注入攻击 – 深度绕过技术挑战
  15. Swift 了解(2)
  16. CGo中传递多维数组给C函数
  17. swift -2018 - 创建PCH文件
  18. 镜像仓库管理:与Portus不得不说的那些事
  19. C++ inline内联函数
  20. php随笔10-thinkphp 3.1.3 模板继承 布局

热门文章

  1. C# Post调用接口并传递json参数
  2. 暴风影音16 v9.05.1202.1111 绿色版
  3. Java面向对像之方法重写
  4. ORACLE 遇到ORA-31693 ORA-31617 ORA-19505 ORA-27037
  5. seqsever 查询多个表的条数,并以列的形式展现
  6. pgsql中行数据转json数组
  7. Docker部署Springboot+Vue项目
  8. JAVA JAR包注册成服务,开机启动,WINSW使用
  9. jmeter接口之json提取器应用
  10. ChatGPT检测器开发者在知乎的文章,记录一下