van-list的使用

html 复制代码
<van-list
          v-if="joblist && joblist.length > 0"
          v-model:loading="loading"
          :finished="finished"
          :immediate-check="false"
          finished-text="没有更多了"
          @load="onLoad"
        >
js 复制代码
// 加载
const loading = ref(false);
// 全部加载完毕
const finished = ref(false);

// 加载更多触底事件
const onLoad = async () => {
  if (joblist.value.length < total.value) {
    searchform.value.pageNum++;
    await getjoblist();
    loading.value = false;
  } else {
    loading.value = false;
    finished.value = true;
  }
};

const getjoblist = async () => {
  const res = await queryJoblist(searchform.value);
  if (res.code === 200) {
    total.value = res.total;
    //使用concat将新数据和原来的列表拼接在一起,不能直接赋值
    joblist.value = joblist.value.concat(res.rows);
  }
};

注意!!!
要使用concat将新数据和原来的列表拼接在一起,不能直接赋值,否则每次请求后的页面高度都是在页面底部,导致一直触发onLoad方法请求接口多次

相关推荐
咪咪渝粮25 分钟前
JavaScript 中constructor 属性的指向异常问题
开发语言·javascript
德育处主任36 分钟前
p5.js 掌握圆锥体 cone
前端·数据可视化·canvas
mazhenxiao38 分钟前
qiankunjs 微前端框架笔记
前端
无羡仙1 小时前
事件流与事件委托:用冒泡机制优化前端性能
前端·javascript
秃头小傻蛋1 小时前
Vue 项目中条件加载组件导致 CSS 样式丢失问题解决方案
前端·vue.js
CodeTransfer1 小时前
今天给大家搬运的是利用发布-订阅模式对代码进行解耦
前端·javascript
阿邱吖1 小时前
form.item接管受控组件
前端
韩劳模1 小时前
基于vue-pdf实现PDF多页预览
前端
鹏多多1 小时前
js中eval的用法风险与替代方案全面解析
前端·javascript
KGDragon1 小时前
还在为 SVG 烦恼?我写了个 CLI 工具,一键打包,性能拉满!(已开源)
前端·svg