更新记录

1.0(2021-08-31)

scroll-view组件


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
×

用法:

<page-scroll-view ref="scroll" :isEmpty="isEmpty" @refresh="refresh" @scrolltolower="scrolltolower" :loadStatus="loadStatus">
    <examine-content v-for="(item, index) in dataList" :key="index" :item="item">         </examine-content>
</page-scroll-view>

引入

import pageScrollView from '@/components/page-scroll-view.vue';

components: {
    examineContent,
    pageScrollView
},

参数:

参数 默认 说明
isEmpty true 是否数据为空。默认为空
anchoring true 控制滚动位置不随内容变化而抖动。默认开启
threshold 45 设置自定义下拉刷新阈值。默认45。
loadStatus loadmore 当前加载状态,可选‘nomore’,'loading'
nodataText 暂无信息 noData显示文本字段
infiniteDisabled true 是否开启上拉加载

这里的examine-content组件是作者本人封装列表组件,这里可以忽略。

    data() {
        return {
            loadStatus: 'loadmore',
            type: 0,
            sort: 1,
            dataList: [],
            pageData: {
                current: 1,
                size: 10
            }
        };
    },
    onLoad() {
        this.initData();
    },
    computed: {
        isEmpty() {
            return this.dataList.length == 0;
        }
    },
    methods: {
        // 下拉刷新重新刷新数据
        async refresh(){
            this.pageData.current = 1;
            await this.initData();
            // 这里调用组件内的refresherComplete方法关闭状态。
            this.$refs.scroll.refresherComplete()
        },
        // 上拉加载更多数据
        scrolltolower(){
            this.pageData.current++;
            this.initData();
        },
        // 初始化
        async initData() {
            this.loadStatus = 'loading';
            let params = {
                ...this.pageData,
                orderParam: this.sort,
                handleState: this.type
            };
            const res = await this.$u.api.repair.fetchAuditPage(params);
            if (res) {
            if(this.pageData.current == 1){
                this.dataList = res.records
            }else{
                this.dataList = [...this.dataList, ...res.records];
            }

            if (res.last) {
                this.loadStatus = 'nomore';
            } else {
                this.loadStatus = 'loadmore';
            }

        }
        console.log(this.dataList,'dataList...')
    },
}

这里的dataList 是列表数据。代码已完全写出,逻辑不复杂,可自行阅读使用即可。注意,组件高度是height是100%,在引入组件时应在外层套一个固定高度的view。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问