node+elementUi+mysql实现分页

该文章介绍了如何结合Node.js后端、ElementUI前端组件和MySQL数据库实现分页功能。前端通过ElementUI的分页组件向后端发送每页显示的条数和页码,后端利用SQL的limit关键字处理数据并返回给前端进行展示。文章详细展示了分页组件的使用、前后端交互的方法以及后端处理分页查询的逻辑。
摘要由CSDN通过智能技术生成
node+elementUi+mysql实现分页

分页的思想
1.在前端选择每页显示的条数后,触发选择按钮向后端发送当前页需要显示的数据条数。
2.后端接受到条数后通过sql的limit 来限制发送到前端的数据。
3.当前端点击下一页时,向后端发送下一页的页码,通过过滤来和限制来展示当前的数据。

1.使用elementUi分页组件

分页组件

2.分页
 <!-- 分页组件 -->
      <el-pagination
        class="page"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-sizes="[5, 8, 10, 12]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next"
        :total="total"
      >
      </el-pagination>

在这里插入图片描述

3.定义方法

1.页数方法(每一页多少条)

 //分页每页显示多少
    handleSizeChange(val) {
      let pageSize = {
        pageSize: val,
      };
      allReservationTable(pageSize).then((res) => {
        setTimeout(() => {
          this.loading = false;
          this.tableData = res.data.results;
        }, 200);
      });
    },

2.下一页的方法

 // 获取数据
    getList() {
      // 采用封装的api接口方法
      allReservationTable().then((res) => {
        setTimeout(() => {
          this.loading = false;
          this.tableData = res.data.results;
          this.total = res.data.total;
        }, 200);
      });
    },
4.node后端
//查询预约表
router.post('/allReservationTable',function(req,res,next){
  //当前所在页码
  let currentPage = req.query.currentPage||1;
  //定义每页数据数
  let pageSize = req.query.pageSize||10
  let sql='select * from reservationtable ' 
  connection.query(sql,function(error,results){
    if(error) return console.log(error.message)
    // 计算数据总条数
    let total = results.length;
       // 分页条件 (跳过多少条)
   let n = (currentPage - 1) * pageSize;
    // 拼接分页的sql语句
    sql += ` limit ${n}, ${pageSize}`;
    connection.query(sql,(error,results)=>{
      if(error) return console.log(error.message)
      res.send({
        code:200,
        total,
        results
      });
    })
  })
})
5.展示

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code袁

你的支持是我莫大的幸运

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值