uniapp上拉加载和下拉刷新

 

<view class="goods">
        <goodsList :goodsList="goodsList" />
        <view class="isOver" v-show="flag">-------我是有底线的-------</view>
    </view>

 

import goodsList from '../../components/goods-list/goods-list'
    export default {
        components: {
            goodsList
        },
        data() {
            return {
                goodsList: [],
                pageindex: 1,
                flag: false
            }
        },
        onLoad() {
            this.getHotGoods()
        },
        methods: {

      1.上拉加载 

            //获取商品列表
            async getHotGoods() {
                const res = await this.$myRequest({
                    url: '/api/getgoods?pageindex=' + this.pageindex
                })
                if (res.data.message.length == 0) return this.flag = true    //当传来值长度为0时,返回并显示-------我是有底线的-------
                this.goodsList = [...this.goodsList, ...res.data.message]
            },
        },
        onReachBottom() {     //监听页面滚动到底部
            //根据 getHotGoods
函数中的 flag,判断返回的数据的length 小于10表示没有后面的数据了
            if (this.flag) {
                return
            }
            this.getHotGoods()
            this.pageindex++
            console.log('商品列表数据:', this.pageindex)
        }

       

      2.下拉刷新 

          async getHotGoods(callBack) {
                const res = await this.$myRequest({
                    url: '/api/getgoods?pageindex=' + this.pageindex
                })
                if (res.data.message.length == 0) return this.flag = true
                this.goodsList = [...this.goodsList, ...res.data.message]
                callBack && callBack()
            },
      },

        //下拉刷新
        onPullDownRefresh() {
            this.pageindex=1
            this.goodsList=[]
            this.flag = false
            setTimeout(()=>{
                this.getHotGoods(()=>{
                    uni.stopPullDownRefresh()
                })
            },1000)
        }


    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值