小程序实现上拉加载下拉刷新

本文介绍了使用WXML和JS实现微信小程序中图片轮播和数据分页加载的技术,通过`scroll-view`组件实现下拉刷新和上拉加载更多,并利用`wx:for`遍历动态数据。重点讲解了如何通过发送HTTP请求与服务器交互,更新列表内容。
摘要由CSDN通过智能技术生成

效果图

在这里插入图片描述

代码

wxml

<scroll-view scroll-y style="height:100vh;"
bindscrolltolower="bindDownLoad" bindscrolltoupper="topLoad" bindscroll="scroll">
    <view wx:for="{{list1}}" wx:key="id" class="main">
        <view>{{item.ansCont}}</view>
        <view>{{item.id}}</view>
        <image src="{{item.pic}}"></image>
    </view>
</scroll-view>

js

var util = require('../../../utils/server'),
        header = util.reqHeader()
Page({

        /**
         * 页面的初始数据
         */
        data: {
                pageNum: 1,
                list1: []
        },
        onLoad: function (options) {
                var that = this
                var keyWord = ''
                var pageNum = that.data.pageNum
                var pageSize = 10
                wx.showLoading({
                        title: '加载中',
                        icon: 'loading',
                        duration: 2000
                })
                util.sendRrquest('/sy/qa/getQaList?pageSize=' +
                                pageSize +
                                '&pageNum=' +
                                pageNum +
                                '&keyWord=' +
                                keyWord,
                                'POST',
                                'data', header)
                        .then(function (res) {
                                wx.hideLoading()
                                if (res.data.data.list.length) {
                                        let data = [...that.data.list1,...res.data.data.list]//这个是把请求刷新下拉的值存起来 要不然会不显示你刷新过得数据
                                        that.setData({
                                                list1: data
                                        })
                                } else {
                                        var num = that.data.pageNum - 1
                                        that.setData({
                                                pageNum: num
                                        })
                                        wx.showToast({
                                                title: '已经到底了',
                                                icon: 'success',
                                                duration: 2000
                                        })
                                }

                        }, function (error) {
                                var num = that.data.pageNum - 1
                                that.setData({
                                  pageNum: num
                                })
                        })
        },
         //页面滑动到底部
        bindDownLoad:function(){ 
                var that = this
                var num = that.data.pageNum + 1
                that.setData({
                  pageNum: num
                })
                console.log(that.data.pageNum)
                that.onLoad() 
        },
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值