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

配置

在小程序的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.hqwc.cn/news/484606.html

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

相关文章

C#版字节跳动SDK - SKIT.FlurlHttpClient.ByteDance

前言 在我们日常开发工作中对接第三方开放平台&#xff0c;找一款封装完善且全面的SDK能够大大的简化我们的开发难度和提高工作效率。今天给大家推荐一款C#开源、功能完善的字节跳动SDK&#xff1a;SKIT.FlurlHttpClient.ByteDance。 项目官方介绍 可能是全网唯一的 C# 版字…

云原生高级第一次作业

目录 实验需求&#xff1a; 第一个实验步骤&#xff1a; openEuler 二进制方式安装MySQL 8.0.x 1.首先需要获取软件包 2.然后安装tar和xz格式可进行解压工具 3.接下来就是安装MySQL 4.配置环境变量 5.登入并修改密码 6.停止服务脚本 7.提供配置文件 8.进入/etc/my.cnf…

SpringBoot线上打包

背景&#xff1a; 1.我们打包时其实需要很多资源打到jar包之外&#xff0c;这样子修改了配置后&#xff0c;就可以生效了。 2.包的命名: 以mj为例子&#xff1a; 业务层&#xff1a; com.jn.mj // 这个是这个工程的总包名 com.jn.mj.gateway // web服集群 c…

三防平板电脑丨亿道工业三防平板丨三防平板定制丨机场维修应用

随着全球航空交通的增长和机场运营的扩展&#xff0c;机场维护的重要性日益凸显。为确保机场设施的安全和顺畅运行&#xff0c;采取适当的措施来加强机场维护至关重要。其中&#xff0c;三防平板是一种有效的工具&#xff0c;它可以提供持久耐用的表面保护&#xff0c;使机场维…

Vue 进阶系列丨实现简易reactive和ref

Vue 进阶系列教程将在本号持续发布&#xff0c;一起查漏补缺学个痛快&#xff01;若您有遇到其它相关问题&#xff0c;非常欢迎在评论中留言讨论&#xff0c;达到帮助更多人的目的。若感本文对您有所帮助请点个赞吧&#xff01; 2013年7月28日&#xff0c;尤雨溪第一次在 GItHu…

docker (56) Recv failure: Connection reset by peer

docker 运行一个spring boot的api接口项目&#xff0c;在虚拟机上测试&#xff1a; curl 127.0.0.1:9997/doc.html 报错&#xff1a;(56) Recv failure: Connection reset by peer 在网上搜了很多包括&#xff1a; 检查防火墙是否关闭 systemctl status firewalld 检查防火…

PLC_博图系列☞基本指令“异或“运算

PLC_博图系列☞基本指令“异或“运算 文章目录 PLC_博图系列☞基本指令“异或“运算背景介绍X&#xff1a;“异或”运算说明参数示例真值表 关键字&#xff1a; PLC、 西门子、 博图、 Siemens 、 异或 背景介绍 这是一篇关于PLC编程的文章&#xff0c;特别是关于西门子的…

LeetCode 0106.从中序与后序遍历序列构造二叉树:分治(递归)——五彩斑斓的题解(若不是彩色的可以点击原文链接查看)

【LetMeFly】106.从中序与后序遍历序列构造二叉树&#xff1a;分治&#xff08;递归&#xff09;——五彩斑斓的题解&#xff08;若不是彩色的可以点击原文链接查看&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/construct-binary-tree-from-inorder-an…

OpenTiny Vue 组件库适配微前端可能遇到的4个问题

本文由体验技术团队 TinyVue 项目成员岑灌铭同学创作。 前言 微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略&#xff0c;每个应用可以选择不同的技术栈&#xff0c;独立开发、独立部署。 TinyVue组件库的跨技术栈能力与微前端十…

四、Burpsuite工具之proxy模块详解-intercept功能

前言&#xff1a; 过了一个年&#xff0c;感觉好久都没有更新了&#xff0c;今天就从burpsuite的更新开始吧。 前面已经说过了burpsuite的安装和proxy代理的配置&#xff0c;今天说一下proxy模块中非常有用的intercept功能。 intercept功能介绍&#xff1a; intercept是拦截…

element-ui 中的表格设置正确的排序以及怎么设置默认排序

本文主要解决两个问题&#xff0c;第一个&#xff0c;在element-ui中&#xff0c;直接设置参数排序&#xff0c;达不到预期效果&#xff0c;预期是按照数字的大小进行排序&#xff1b;第二个&#xff0c;想对表格中某个字段设置默认的排序方式 现象&#xff1a; 直接设置在 el-…

Unity NavMesh 清除不可行走区域

通常场景中物体设置为static或Navigation Static后&#xff0c;打开Navigation使用默认设置烘焙NavMesh&#xff0c;模型顶部和底部会出现蓝色网格&#xff0c;但其中有部分属于不可能到达区域&#xff0c;如下图 本文介绍两种可去掉NavMesh中不需要网格的方法&#xff1a; 方…