小程序列表下拉刷新和加载更多

配置

在小程序的app.json中,检查window项目中是否已经加入了"enablePullDownRefresh": true,这个用来开启下拉刷新

  "window": {"backgroundTextStyle": "light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "洛塔","navigationBarTextStyle": "black","enablePullDownRefresh": true},

样式

直接引入weui

@import "/pages/style/weui.wxss";

布局

上方两个查询条件和一个按钮,下方显示列表
在这里插入图片描述

<view class="container"><view class="page-body"><form catchsubmit="formSubmit"><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input name="shipName" class="weui-input" auto-focus placeholder="请输入船名,中英文均可"/></view><view class="weui-cell weui-cell_input"><input name="voyage" class="weui-input" placeholder="请输入航次号"/></view></view><button type="primary" formType="submit" style="width:100%;margin-top: 10px;">查询船动态</button></form><view style="margin-top:10px; padding:10px; background:#eeeeee;" wx:for="{{list}}" wx:key="key"><view><text style="font-size: 14px;"> 英文船名: {{item.shipNameEn}}</text></view><view><text style="font-size: 14px;"> 中文船名: {{item.shipNameCn}}</text></view><view><text style="font-size: 14px;"> 航次: {{item.voyage}}</text></view><view><text style="font-size: 14px;"> 码头: {{item.wharf}}</text></view><view><text style="font-size: 14px;"> 类型: {{item.type}}</text></view><view><text style="font-size: 14px;"> 开港时间: {{item.startTime}}</text></view><view><text style="font-size: 14px;"> 截关时间: {{item.endTime}}</text></view></view></view>
</view>

逻辑

data中定义几个参数,分别对应请求参数和返回结果。

  data: {page:1,total:0,shipName:'',voyage:'',list:[]},

定义一个公共的请求方法,用来调用接口,加载更多、下来刷新、点击查询等,都调用这个方法

    getListInfo:function() {var url = 'https://eladmin.luotayixing.com/api/yzt/time?pageNumber=' + this.data.page +'&pageSize=10&shipName=' + this.data.shipName + '&voyage=' + this.data.voyage;var that = this;wx.showLoading({title: '加载中',})wx.request({url: url,success (res) {wx.hideLoading();if(that.data.page == 1) {that.setData({list: res.data.data.data})} else {var itemList = that.data.list;that.setData({list: itemList.concat(res.data.data.data)})} that.setData({page: that.data.page+1});that.setData({total:res.data.data.total});},fail: function (res) {wx.hideLoading()}})},

点击查询按钮,直接调用上面的方法

    formSubmit(e) {this.setData({shipName:e.detail.value.shipName,voyage:e.detail.value.voyage,page:1});this.getListInfo();},

用户下拉刷新,需要把页码设置成1,然后调用方法

    /*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {this.setData({page:1});this.getListInfo();},

加载更多,需要判断下是不是还有数据。

    /*** 页面上拉触底事件的处理函数*/onReachBottom: function () {if (this.data.list.length != this.total) {this.getListInfo();} else {wx.showToast({title: '没有更多数据',})}},

以上就是全部逻辑了,完整的js文件如下:

Component({/*** 组件的属性列表*/properties: {},/*** 组件的初始数据*/data: {page:1,total:0,shipName:'',voyage:'',list:[]},/*** 组件的方法列表*/methods: {getListInfo:function() {var url = 'https://eladmin.luotayixing.com/api/yzt/time?pageNumber=' + this.data.page +'&pageSize=10&shipName=' + this.data.shipName + '&voyage=' + this.data.voyage;var that = this;wx.showLoading({title: '加载中',})wx.request({url: url,success (res) {wx.hideLoading();if(that.data.page == 1) {that.setData({list: res.data.data.data})} else {var itemList = that.data.list;that.setData({list: itemList.concat(res.data.data.data)})} that.setData({page: that.data.page+1});that.setData({total:res.data.data.total});},fail: function (res) {wx.hideLoading()}})},formSubmit(e) {this.setData({shipName:e.detail.value.shipName,voyage:e.detail.value.voyage,page:1});this.getListInfo();},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {this.setData({page:1});this.getListInfo();},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {if (this.data.list.length != this.total) {this.getListInfo();} else {wx.showToast({title: '没有更多数据',})}},/*** 用户点击右上角分享*/onShareAppMessage: function () {}}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity C#中的封装、继承和多态简单易懂的经典实例

文章目录 封装 (Encapsulation)继承 (Inheritance)多态 (Polymorphism) C#中的封装、继承和多态是面向对象编程&#xff08;OOP&#xff09;的三大核心特性。下面分别对这三个概念进行深入解释&#xff0c;并通过实例来说明它们在实际开发中的应用。 封装 (Encapsulation) 实例…

【北京航空航天大学】【信息网络安全实验】【实验一、密码学:DES+RSA+MD5编程实验】

信息网络安全实验 实验一、DES RSA MD5 一、实验目的 1. 通过对DES算法的代码编写,了解分组密码算法的设计思想和分组密码算法工作模式; 2. 掌握RSA算法的基本原理以及素数判定中的Rabin-Miller测试原理、Montgomery快速模乘(模幂)算法,了解公钥加密体制的优缺点及其常…

数组转二叉树的一种方法-java(很特殊)

上代码 Node节点的代码 public class ThreadNode {private int data;private ThreadNode left;private boolean leftTag; // 左子节点是否为线索private ThreadNode right;private boolean rightTag; // 右子节点是否为线索// ... 省略get和set方法// ... 省略构造方法// ... …

【MySQL】学习多表查询和笛卡尔积

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-N8PeTKG6uLu4bJuM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Linux命令-netstat

用于端口和服务之间的故障排除 格式&#xff1a;netstat [常用参数] | grep 端口号/进程名称 -n&#xff1a;显示接口和端口的编号 -t&#xff1a;显示TCP套接字 -u&#xff1a;显示UDP套接字 -l&#xff1a;显示监听中的套接字 -p&#xff1a;显示端口对应的进程信息 -a&a…

一些常见的激活函数介绍

文章目录 激活函数1. sigmoid2. relu3. leakyReLu4. nn.PReLU5. nn.ReLU66. Softplus函数7. softmin, softmax, log softmax8. ELU 激活函数 1. sigmoid https://zhuanlan.zhihu.com/p/172254089 sogmoid函数的梯度范围在 0-0.25&#xff0c; 容易梯度消失 2. relu ReLU激…

Android稳定性相关知识

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关方法论3.1 crash3.2 性能3.3 高…

Python:异常处理

异常处理已经成为判断一门编程语言是否成熟的标准&#xff0c;除传统的像C语言没有提供异常机制之外&#xff0c;目前主流的编程语言如Python、Java、Kotlin等都提供了成熟的异常机制。异常机制可以使程序中的异常处理代码和正常业务代码分离&#xff0c;保证代码更加优雅&…

2024年重磅消息:来自OpenAI发布的视频生成模型Sora

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

自然语言编程系列(一):自然语言和程序语言介绍

1.自然语言和程序语言 自然语言和程序语言是两种截然不同但又相互关联的语言体系&#xff0c;它们分别服务于人类日常交流和计算机指令执行。 自然语言&#xff1a; 定义&#xff1a;自然语言是指人类在日常生活中使用的语言&#xff0c;如英语、汉语、法语等。它是非正式且灵…

Java的跨平台特性

Java语言特别流行的其中一个原因就是其具有良好的跨平台性&#xff0c;Java的跨平台性表现在通过 Java 语言编写的应用程序在不同的系统平台上都能够正常运行。其原理是&#xff1a;只要在需要运行 java 应用程序的操作系统上&#xff0c;先安装一个 Java 虚拟机(JVM Java Virt…

html表格标签(下):lable标签,select标签和textara标签

html表格标签(下)&#xff1a;lable标签&#xff0c;select标签和textarea标签 lable标签 搭配 input 使用,点击 label 标签就能选中对应的单选/复选框, 能够提升用户体验。 for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应 (此时点击才是有用的) 运行效果&#x…

信息安全认证 | CISP证书怎么样?值得考吗?

HCIE考证研究所的朋友们&#xff0c;新年快乐&#xff01; 今天给大家说说CISP证书&#xff0c;新的一年祝大家逢考必过啊~ 01 考注册信息安全工程师证书的用处 CISP证书可作为学识和技能证明&#xff1b;求职、任职、晋升、加薪的资格凭证&#xff1b;用人单位招聘、录用劳动…

FPGA之移位寄存器

SLICEM中的LUT可以配置为32位移位寄存器,而无需使用slice中可用的触发器。以这种方式使用,每个LUT 可以将串 行数据延迟 1 到 32 个时钟周期。移入D &#xff08;DI1 LUT 引脚&#xff09;和移出 Q31&#xff08;MC31 LUT 引脚&#xff09;线路将LUT级联&#xff0c;以形成更大…

羊大师揭秘,如何挑选出好牧场的奶羊,该怎么看

羊大师揭秘&#xff0c;如何挑选出好牧场的奶羊&#xff0c;该怎么看 了解牧场的管理和环境&#xff1a;好的牧场应该有规范的管理制度&#xff0c;环境整洁&#xff0c;草场茂盛&#xff0c;为奶羊提供了充足的食物和良好的生活环境。在这样的牧场中&#xff0c;奶羊能够得到…

芯片的分类

目录 通用处理器数字信号处理器专用处理器 通用处理器 我们常听说的中央处理器CPU就是一种典型的通用处理器&#xff08;GPP&#xff09;。这种处理器多使用片上系统&#xff08;SoC&#xff09;的设计理念&#xff0c;在处理器上集成各种功能模块&#xff0c;每一种功能都是用…

⭐北邮复试刷题103. 二叉树的锯齿形层序遍历 (力扣每日一题)

103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 示例 1&#xff1a;输入&#xff1a…

视频如何去除水印?这三个方法赶紧收藏

在数字化内容的海洋中&#xff0c;视频已成为我们日常生活中不可或缺的一部分。然而&#xff0c;很多时候&#xff0c;我们渴望观看的优质视频内容却被水印所困扰。因此我们就需要视频去水印工具来帮助我们解决这些困扰。 一、水印云 水印云的视频去水印功能采用了先进的 AI …

【JavaEE】IP协议

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…

MySQL之select查询

华子目录 SQL简介SQL语句分类SQL语句的书写规范SQL注释单行注释多行注释 select语句简单的select语句select的算数运算select 要查询的信息 from 表名;查询表字段查询常量查询表达式查询函数 查询定义别名as安全等于<>去重distinct连接字段concat 模糊查询运算符比较运算…