vant列表滚动加载

1:html @load="onLoad" offset="30"

复制代码
 <van-list
      v-model="loading"
      :finished="finished"
      finished-text="没有更多了"
      @load="onLoad"
      offset="30"
    >
      <div class="hotel_box">
        <div class="box" v-for="item in list" :key="item.id" @click="item.numbers > 0 ? $router.push(`/goDetails?id=${item.id}`) : ''">
          <div>
            <van-image fit="cover" lazy-load :src="item.stu && item.stu.image_url ? item.stu.image_url : ''"/>
            <div class="repair" v-if="item.numbers === 0">
              <span>补货中</span>
            </div>
            <div class="box1">
              <span class="name">{{ item.stu.name }}</span>
              <span class="desc">{{ item.stu.desc || "..." }}</span>
              <span class="price">¥{{ item.price }}</span>
            </div>
          </div>
        </div>
      </div>
    </van-list>

2:methods onLoad()

复制代码
data () {
    return {
      // 默认列表
      list: [],
      loading: false,
      finished: false,
      page: 1,
      pageSize: 8,
      rowCount: ''
    }
  },
 methods: {
    // 获取商品
    getHotelList () {
      this.loading = true
      this.finished = false
      const applets = JSON.parse(localStorage.getItem('applets'))
      getList({
        hotel_id: applets.hotelId,
        hotel_group_id: applets.hotel_group_id,
        end_datetime__gt: dateFmt.dateFormat(new Date()),
        page_size: this.pageSize,
        page: this.page
      }).then(res => {
        if (res.message === 'success') {
          this.rowCount = res.data.count
          //  将数据放入数组
          this.list.push(...res.data.results)
          this.loading = false // 加载状态结束
          this.list.length >= this.rowCount ? (this.finished = true) : ''
          // 如果list长度大于等于总数据条数,数据全部加载完成
          // this.finished = true 结束加载状态
        } else {
          this.loading = false // 结束加载状态
          this.finished = true // 加载状态结束
        }
      })
    },
    onLoad () {
      this.getHotelList()
      this.page++ // 分页数加一
    },
 }
相关推荐
无限进步_4 小时前
【C++】只出现一次的数字 II:位运算的三种解法深度解析
数据结构·c++·ide·windows·git·算法·leetcode
0xDevNull6 小时前
Windows系统使用nvm实现多版本切换Node.js详细教程
windows·node.js
无限进步_6 小时前
【C++】多重继承中的虚表布局分析:D类对象为何有两个虚表?
开发语言·c++·ide·windows·git·算法·visual studio
学Linux的语莫6 小时前
Hyper-V的安装使用
linux·windows·ubuntu·hyper-v
xiaoshuaishuai87 小时前
C# 方言识别
开发语言·windows·c#
十五年专注C++开发10 小时前
cpolar(极点云): 一款主流的内网穿透工具
linux·windows·cpolar·穿透
非凡ghost10 小时前
AIMP(音乐播放软件)
前端·windows·音视频·firefox
xifangge202510 小时前
【2026终极解法】彻底解决“由于找不到 msvcp140.dll,无法继续执行代码”报错(附微软运行库一键修复包)
windows·mysql·microsoft·报错·开发环境
摇滚侠10 小时前
Windows 查看占用端口的进程,并关闭进程
windows
汤姆yu10 小时前
Windows系统下TRAE的安装与完整使用教程
windows·ai·trae·ai编程工具