当前位置: 首页 > article >正文

【vue3】分页功能实现(nodejs)

分页查询
在前端中分页查询的出现是为了让有一定数据量的页面能够更合理的展示出来,同时结合Element Ui提供的分页组件,能够对前端展示的数据做更多的操作。

前端代码

<el-pagination background layout="total, prev, pager, next" 
	    :total="total" 
	    v-model:page-size="pageSize"
		@current-change="handelpage(currentPage)" 
		v-model:current-page="currentPage" 
		style="margin-top: 40px;float: right;" />
// 获取文章列表数据
	let tableData = reactive([])
	let currentPage = ref(1)
	let pageSize = ref()
	const total = ref()
	console.log(currentPage)
	async function getArt() {
		try {
			const response = await getArticles(currentPage.value); // 假设 getArticles() 返回一个 Promise  
			console.log(response);
			// 更新 tableData 数组的内容,而不是替换它的引用  
			total.value = response.data.total
			tableData.splice(0, tableData.length, ...response.data.data);
		} catch (error) {
			console.error('获取文章列表失败:', error);
		}
	}
	const handelpage = () => {
		console.log(currentPage.value);
		getArt()
	}

后端代码

//获取全部文章信息账单
router.get('/getArticle', (req, res, next) => {
	console.log(req.query)
	const page = parseInt(req.query.page) || 1;  // 分页数量,默认为1
	  const size = parseInt(req.query.size) || 10;  // 分页大小,默认为10
	  const skip = (page - 1) * size;
	 
	// 首先查询总记录数  
	    accountModel.countDocuments().then(totalCount => {  
	        // 然后根据分页参数查询文章列表  
	        accountModel.find()  
	            .sort({ createTime: -1 })  
	            .skip(skip)  
	            .limit(size)  
	            .then(data => {  
	                res.json({  
	                    code: '20000',  
	                    msg: '找到了',  
	                    total: totalCount, // 使用正确的拼写和从数据库获取的总数  
	                    data: data  
	                });  
	            })  
	            .catch(err => {  
	                res.json({  
	                    code: '1002',  
	                    msg: '读取失败',  
	                    data: null  
	                });  
	                next(err); // 传递错误给错误处理中间件(如果有的话)  
	            });  
	    })  
	    .catch(err => {  
	        res.json({  
	            code: '1001', // 可以为计数失败定义一个不同的错误代码  
	            msg: '计数失败',  
	            data: null  
	        });  
	        next(err); // 传递错误给错误处理中间件(如果有的话)  
	    });  
})


http://www.kler.cn/news/341450.html

相关文章:

  • 通用代码生成器应用场景七,初学者学习使用
  • mysql学习教程,从入门到精通,SQL窗口函数(38)
  • 【测试】用例篇——测试用例的概念
  • C# DotNetty客户端,包含心跳发送,断线重连机制
  • Ubuntu使用SSH以及常用的命令
  • 工程机械车辆挖掘机自卸卡车轮式装载机检测数据集VOC+YOLO格式2644张3类别
  • Linux下载安装MySQL8.4
  • 【unity踩坑】打开vs2022没有文字联想/杂项文件
  • 解决 GPTQ 模型导入后推理生成 Tokens 速度很慢的问题(从源码重新安装 Auto-GPTQ)
  • 在树莓派上部署安装OAK
  • 用echarts画天气预报
  • 【优选算法】(第三十二篇)
  • Vue3浮动按钮(FloatButton)
  • C语言二级考试上机题
  • 宠物心肺健康监测仪:医疗科技的新突破
  • 在线绘图工具drawio,visio的平替
  • 数据排列组合实现
  • MySQL【知识改变命运】03
  • 05_23 种设计模式之《建造者模式》
  • Python 打包为 .whl(Wheel)格式的包 发布到 PyPI