vant-List 列表-加载刷新-下拉刷新

dom 代码

javascript 复制代码
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
            <van-list
            v-model="loading"
            :finished="finished"
            finished-text="没有更多了"
            @load="onLoad"
            >
            <Messages :item-list="itemlist"></Messages>
            </van-list>
        </van-pull-refresh>

js 代码

javascript 复制代码
<script>
export default {
    data() {
        return {
            itemlist:[],
            page_index:1,
            loading:false, // 是否加载
            finished:false, // 是否加载完成
            refreshing:false, // 是否要下拉刷新
        }
    },
    components:{
        Messages
    },
    created() {
        this.getData()
    },
    methods:{
        /*下拉加载,定时为了体现加载间隔*/ 
        onLoad() {
            setTimeout(()=>{
                if(this.refreshing) this.refreshing = false
                this.getData()
            },500)
        },
        /*重新加载*/
        onRefresh() {
            this.finished = false;
            this.loading = true;
            this.page_index = 1
            this.onLoad();
        },
        /*获取数据*/ 
        async getData(){
            const data={
                page_index:this.page_index,
                page_size: 10
            }
            const res = await getMesageData(data)
            this.loading=false
            if(res.success){
                this.itemlist=[...this.itemlist,...res.data]
                this.page_index++
            }
            // 是否加载完成(注意:对比数据建议提供总页数
            this.finished=(res.page_index==res.total_pages)?true:false
        }
    },
}
</script>

按文档进行,基本无误

参考:vant

相关推荐
林焱_RPAAI5 小时前
影刀RPA技术深度:CSS选择器高级实战指南——伪类属性选择器与性能对比完全解析
vue.js·react.js
陳陈陳6 小时前
🚀 前端流式输出革命:SSE + BFF 架构从零到一实战指南
vue.js·架构·node.js
黄泉路醉s11 小时前
在Vant+Vue+TypeScript的H移动前端使用UnoCSS
前端·vue.js·typescript
我要两颗404西柚13 小时前
Stage three:VUE工程化与实战工具
前端·javascript·vue.js
看昭奚恤哭15 小时前
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 magic-admin , 开源出来!
前端·vue.js·开源
妙码生花1 天前
从 PHP 到 AI + Golang,程序员自救转型手记(四十五):前端远程下拉输入组件
前端·javascript·vue.js
Listen·Rain1 天前
AGENTS.md — Vue 3 Frontend Development
前端·javascript·vue.js
南风知我意啊1 天前
Vue3图片缩放拖拽组件全攻略
前端·javascript·vue.js
万亿少女的梦1681 天前
基于Spring Boot、Vue.js与MySQL的流浪猫狗救助系统设计与实现
vue.js·spring boot·mysql·javaweb·权限管理
早睡早起身体好1231 天前
Vue 3 路由与懒加载入门:从零完成一个迷你学习中心
javascript·vue.js·学习