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 小时前
Obsidian 跨平台同步实测:Nutstore Sync 在 Windows、Mac、Linux、iOS、Android 全平台综合测评
windows·macos·obsidian·obsidian同步·obsidian教程·obsidian入门·obsidian笔记库搭建
jearry5 小时前
一个编辑器两个内核:Markdown 实时视图与源码视图并存时的竞态、光标锚点与 PDF 导出
windows·markdown
逆向编程6 小时前
DirectX修复工具下载安装教程-Windows系统DLL缺失检测修复完整图文步骤
windows
钱栈up7 小时前
电脑卡死7分钟,日志断在13:56:03:一次Windows硬挂死的根因复盘
windows
我是海飞8 小时前
使用杰理 AC7925B 实现 Windows电脑 USB 副屏
windows·单片机·电脑·嵌入式·杰理
律宏阔10 小时前
Windows 双网卡配置:通过跃点数实现网线访问局域网、Wi-Fi 访问公网
windows
Source.Liu11 小时前
【A11】拥有者模式平台架构笔记
windows·笔记·架构·rust
可爱系程序猿14 小时前
Windows 11 下惠普 M126nw 驱动报错溯源:完整包、WSD 端口与类驱动记录
windows·程序人生·电脑
技术不好的崎鸣同学15 小时前
第七章:模块踩踏以覆写导出函数绕过CFG
c++·windows·安全·系统安全
黄一一91124315 小时前
吾爱大佬开发,离线可用!PDF文件处理工具,本地网页版文件-浏览器里就能搞定,所有操作系统可用
windows·安全·阿里云·pdf·.net·开源软件