微信小程序:下拉动作

news/2024/7/20 2:13:40 标签: 小程序

简介

小程序项目中有个需求:用户聊天时可以下拉加载历史消息。于是看了下小程序自带的方法,比较简单,分享给大家。
在这里插入图片描述

具体实现

1、在要实现效果的页面的相关 .json文件中设置window属性:下拉事件。还可以追加一个加载过程中的动画样式,但是只支持两种(“dark”、“light”)。

 "enablePullDownRefresh": true,
 "backgroundTextStyle": "dark"

2、在js里设置onPullDownRefresh方法【注意当处理完数据刷新后,需要停止当前页面的下拉刷新,采用wx.stopPullDownRefresh即可】。

3、wx.showNavigationBarLoading方法可以实现顶部标题栏也有加载转圈效果,更加方便于用户识别加载中的状态效果。

 onPullDownRefresh: function() {
    console.log("++++++下拉刷新++++++");
    wx.showNavigationBarLoading(); //在标题栏中显示加载中的转圈效果
    wx.request({
      url: "", // https://... + URL
      data: {},
      method: 'GET',
      // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      // header: {}, // 设置请求的 header
      success: function(res) {
        // success
      },
      fail: function() {
        // fail
      },
      complete: function() {
        // complete
        setTimeout(function () {
          wx.hideNavigationBarLoading(); // 完成数据操作后停止标题栏中的加载中的效果
          wx.stopPullDownRefresh(); // 停止下拉刷新过程
          console.log("------停止刷新------");
        }, 2000)
      }
    });
  }

4、效果图
在这里插入图片描述

拓展

onReachBottom()
监听用户上拉触底事件。

(1) 可以在app.json的window选项中或页面配置中设置触发距离onReachBottomDistance,类型为number,默认,50,单位是px。

onReachBottomDistance: 50

(2)在触发距离内滑动期间,本事件只会被触发一次【注意:只会被触发一次】。

当然,在scroll-view里设定bindscrolltoupper和bindscrolltolower实现微信小程序下拉也是可以的,只是相对复杂化了(既然做的微信小程序,有封装好的方法,直接调用不好吗,还减少不必要的事件派发),就不一 一介绍了。

最后

觉得有用的朋友请用你的金手指点一下赞,或者评论留言一起探讨技术!


http://www.niftyadmin.cn/n/1867275.html

相关文章

H5:input type=“file” 在移动端页面实现调用本地相册、拍照、录音

简介 用H5做一个移动端的网页时&#xff0c;需要上传图片&#xff0c;于是需要调用手机相册和相机功能。 具体实现 1.HTML <input type"file" accept"image/*" mutiple"mutiple" capture"camera" />2.三个属性&#xff1a; …

微信小程序:封装公共复用方法(js及wxs)、封装组件

简介 在进行业务交互时&#xff0c;大概率都会重复使用同样的代码。这种时候&#xff0c;为了提交代码有效性&#xff0c;就需要小伙伴们把重复的代码封装到公共方法中&#xff0c;方便重复使用&#xff0c;也就是封装JS。 但是有的时候&#xff0c;数据比较复杂&#xff0c;来…

微信小程序:动态修改数组的某一个元素

简介 在微信小程序项目中&#xff0c;需要点击页面遍历出的某一个元素&#xff0c;更换其图标。经过踩坑&#xff0c;发现了关键点&#xff0c;与大家分享一下。 具体实现 // 定义的数组 data: {arrayData: [{ keyID: "1", name: "大娃", sex: 1, birth…

VUE:实现星级评价,以VUE举例

简介 在很多项目中&#xff0c;需要用到对商品、订单、服务等的评价功能&#xff0c;其中使用星级评价是一种快捷表现满意度的体现。接下来以VUE项目环境列举一个实例。具体样式的话&#xff0c;需要自己根据项目实际情况进行修改。 具体实现 // HTML <div class"fl…

【可爱少女】InsCode Stable Diffusion 美图活动一期

在线运行地址 https://inscode.csdn.net/inscode/Stable-Diffusion 模型相关版本和参数配置 Steps&#xff08;采样迭代步数&#xff09;: 20 Sampler&#xff08;采样方法&#xff09;: Euler a 采样迭代步数(Steps)Sampling steps&#xff1a;20 生成批次&#xff1a;1 批次…

VUE:实现模块分类展示数据列表

简介 项目中&#xff0c;会有一个模块展示多个类别的数据&#xff0c;点某一个标题只展示相关的内容。 具体实现 <template><div><div class"classifyToolBox"><div class"flexRowStart classifyToolBar"><div v-for"(…

VUE:iframe访问并展示外部网址或者视频

简介 在H5网址、APP等项目中&#xff0c;会有访问外部链接、播放网上视频的需求。 具体实现 上一个页面&#xff0c;传入三个 参数&#xff0c;分别是type&#xff08;0 图文&#xff0c;1 视频&#xff0c;注意最好是用字符窜的格式&#xff09;、url&#xff08;图文或视频…

微信小程序:解决wx.createInnerAudioContext()播放语音的坑

简介 微信小程序中用wx.createInnerAudioContext()&#xff0c;发现怎么暂停和取消的效果都差强人意&#xff0c;原因是将此方法写在了我的播放语音函数里。然后就参考了网上的解决方案。 具体实现 将此方法声明在onLoad中&#xff0c;&#xff08;如果声明在page外部&#…