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

第59讲订单数据下拉实现

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    /*** 订单查询 type值 0 全部订单  1待付款  2 待收货  3 退款/退货* @param type* @return*/@RequestMapping("/list")public R list(Integer type,Integer page,Integer pageSize){System.out.println("type="+type);List<Order> orderList=null;Map<String,Object> resultMap=new HashMap<String,Object>();Page<Order> pageOrder=new Page<>(page,pageSize);if(type==0){  // 全部订单查询// orderList=orderService.list(new QueryWrapper<Order>().orderByDesc("id"));Page<Order> orderResult = orderService.page(pageOrder, new QueryWrapper<Order>().orderByDesc("id"));System.out.println("总记录数:"+orderResult.getTotal());System.out.println("总页数:"+orderResult.getPages());System.out.println("当前页数据:"+orderResult.getRecords());orderList=orderResult.getRecords();resultMap.put("total",orderResult.getTotal());resultMap.put("totalPage",orderResult.getPages());}else{// orderList = orderService.list(new QueryWrapper<Order>().eq("status", type).orderByDesc("id"));Page<Order> orderResult = orderService.page(pageOrder, new QueryWrapper<Order>().eq("status", type).orderByDesc("id"));System.out.println("总记录数:"+orderResult.getTotal());System.out.println("总页数:"+orderResult.getPages());System.out.println("当前页数据:"+orderResult.getRecords());orderList=orderResult.getRecords();resultMap.put("total",orderResult.getTotal());resultMap.put("totalPage",orderResult.getPages());}resultMap.put("orderList",orderList);return R.ok(resultMap);}

前端定义分页参数:

 // 接口参数QueryParams:{type:0,page:1,// 第几页pageSize:10 // 每页记录数},// 总页数totalPage:1,

触底获取下一页数据:

  /*** 页面上拉触底事件的处理函数*/onReachBottom: function () {console.log("触底")if(this.QueryParams.page>=this.totalPage){// 没有下一页数据console.log("没有下一页数据");wx.showToast({title: '没有下一页数据了'})}else{console.log("有下一页数据");this.QueryParams.page++;this.getOrders();}},

拼接下一页数据:

  /*** 获取订单*/async getOrders(){const res=await requestUtil({url:'/my/order/list',data:this.QueryParams});console.log(res)this.totalPage=res.totalPage;this.setData({orders:[...this.data.orders,...res.orderList]})},

重置请求参数:

  // 根据标题索引来激活选中的数据changeTitleByIndex(index){// 切换标题let {tabs}=this.data;tabs.forEach((v,i)=>i==index?v.isActive=true:v.isActive=false);this.setData({tabs})},/*** tab点击事件处理* @param {*} e */handleItemTap(e){const {index}=e.currentTarget.dataset;this.changeTitleByIndex(index);// console.log("index="+index)// 获取订单列表this.QueryParams.type=index;this.QueryParams.page=1;this.setData({orders:[]})this.getOrders();},

下拉刷新实现:

开启下拉刷新:

{"usingComponents": {},"navigationBarTitleText": "订单查询","enablePullDownRefresh":true,"backgroundTextStyle":"dark"
}

下拉刷新事件

    /*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {console.log("下拉刷新")this.QueryParams.page=1;this.setData({orders:[]})this.getOrders();// 手动关闭等待效果wx.stopPullDownRefresh({})}

进入页面加载信息:

  /*** 生命周期函数--监听页面显示*/onShow: function () {console.log("onShow")let pages=getCurrentPages();console.log(pages)let currentPage=pages[pages.length-1];const {type}=currentPage.options;this.changeTitleByIndex(type);this.QueryParams.type=type;this.QueryParams.page=1;this.getOrders();},

报错

2024-02-08 14:33:15.723  WARN 26256 --- [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "undefined"]

链接

http://localhost:8080/my/order/list?type=undefined&page=1&pageSize=10

http://localhost:8080/my/order/list?type=0&page=1&pageSize=10
在这里插入图片描述

相关文章:

  • 《剑指 Offer》专项突破版 - 面试题 36 : 详解后缀表达式(C++ 实现)
  • Android 11 webview webrtc无法使用问题
  • 《Django+React前后端分离项目开发实战:爱计划》 03 理解项目结构
  • 【More Effective C++】条款2:使用C++转型操作符
  • 微服务OAuth 2.1扩展额外信息到JWT并解析(Spring Security 6)
  • 力扣231. 2 的幂(数学,二分查找,位运算)
  • 亚马逊认证考试系列 - 知识点 - LightSail介绍
  • 网络选择流程分析(首选网络类型切换流程)
  • Git中为常用指令配置别名
  • 【漏洞复现】狮子鱼CMS某SQL注入漏洞01
  • 服务器禁用了请求中指定的方法
  • Gateway API 实践之(九)FSM Gateway 的双向 TLS
  • vue3 之 商城项目—详情页
  • 政安晨:示例演绎机器学习中(深度学习)神经网络的数学基础——快速理解核心概念(二){两篇文章讲清楚}
  • 如何使用Python + 百度翻译API 自动大批量免费翻译Excel文件中的外语内容
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 2017-09-12 前端日报
  • Elasticsearch 参考指南(升级前重新索引)
  • HTML中设置input等文本框为不可操作
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript 基本功--面试宝典
  • jQuery(一)
  • Nacos系列:Nacos的Java SDK使用
  • 阿里云Kubernetes容器服务上体验Knative
  • 成为一名优秀的Developer的书单
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • #pragma once与条件编译
  • #Ubuntu(修改root信息)
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (solr系列:一)使用tomcat部署solr服务
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (未解决)macOS matplotlib 中文是方框
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)Neo4j下载安装以及初次使用
  • (一)基于IDEA的JAVA基础1
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .Net Core与存储过程(一)
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .Net6使用WebSocket与前端进行通信
  • .net开发时的诡异问题,button的onclick事件无效
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET下的多线程编程—1-线程机制概述
  • // an array of int
  • @AliasFor注解
  • @JsonSerialize注解的使用
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [20150321]索引空块的问题.txt
  • [BZOJ1877][SDOI2009]晨跑[最大流+费用流]