前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >uniapp的下拉动态分页

uniapp的下拉动态分页

原创
作者头像
在下是首席架构师
发布2023-07-02 09:15:13
4050
发布2023-07-02 09:15:13
举报
文章被收录于专栏:从入门到出门从入门到出门

核心是引入uni-load-more组件,以及它状态的扭转。

代码语言:javascript
复制
<template>
    <view>
        <uni-list>
            <uni-list-item v-for="item in listUser" :key="item.userId" :title="item.nickName" :note="item.phonenumber"
                           :rightText="item.remark"
                           showArrow thumb="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png"
                           thumb-size="lg" :data="item" clickable @click="onClick(item)"/>

        </uni-list>
        <uni-load-more :status="status" :load-text="loadText" @loadmore="getmoreList()"/>
    </view>

</template>
<style lang="scss">
    .slot-box {
        /* #ifndef APP-NVUE */
        display: flex;
        /* #endif */
        flex-direction: row;
        align-items: center;
    }

    .slot-image {
        /* #ifndef APP-NVUE */
        display: block;
        /* #endif */
        margin-right: 10px;
        width: 30px;
        height: 30px;
    }

    .slot-text {
        flex: 1;
        font-size: 14px;
        color: #4cd964;
        margin-right: 10px;
    }
</style>

<script>
    import UniLoadMore from '@/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue';
    import {userList} from "@/api/system/user"

    export default {
        components: {
            UniLoadMore
        },
        data() {
            return {
                status: 'loadmore',
                loadText: {
                    loadmore: '轻轻上拉加载更多...',
                    loading: '努力加载中...',
                    nomore: '没有更多了'
                },
                pageNum: 1,
                pageSize: 10,
                listUser: [],
                cover: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
                avatar: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png',
                extraIcon: {
                    color: '#4cd964',
                    size: '22',
                    type: 'gear-filled'
                }
            };
        },
        created() {
            userList({"pageNum": this.pageNum, "pageSize": this.pageSize}).then(response => {
                this.listUser = response.rows;
                if(this.pageSize >= response.total){
                    this.status = 'nomore';
                }else{
                    this.status = 'loadmore';
                }
            });
        },
        methods: {
            getmoreList() {
                this.status = 'loading';
                setTimeout(() => {
                    this.pageSize += this.pageSize;
                    userList({"pageNum": this.pageNum, "pageSize": this.pageSize}).then(response => {
                        this.listUser = response.rows;

                        if(this.pageSize >= response.total){
                            this.status = 'nomore';
                        }else{
                            this.status = 'loadmore';
                        }
                    });

                }, 1000)
            },
            onClick(e) {
            },
            // 页面下拉时触发
            onPullDownRefresh() {
                this.getmoreList();
                uni.stopPullDownRefresh();
            },
            //页面上滑刷新
            onReachBottom(){
                this.getmoreList();
            }
        }
    };
</script>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档