更新记录

1.0.1(2021-02-22)

上传使用说明,调整插件默认值

1.0.0(2021-02-20)

nvue上下拉刷新列表二次封装,只需请求接口,赋值列表 本插件需要在nvue窗口使用哈


平台兼容性

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

lsj-nvuelist

可导入示例项目查看完整demo

若有疑问可进QQ讨论群:701468256

使用说明

属性 是否必填 值类型 默认值 说明
init Boolean true 初始化时执行一次刷新
top Number 0 默认fixed布局,top设定顶部距离
topUnit String rpx 顶部距离的单位
bottom Number 0 设定底部距离
bottomUnit String rpx 底部距离的单位
backgroundColor String #f2f2f2 列表背景色
position String fixed position布局方式
downText Object 下拉刷新提示 downText说明
upText Object 上拉加载提示 upText说明
loadData Function - 功能触发回调执行函数

downText说明

属性 默认值 说明
contentdown 下拉可以刷新 手指下拉开始时顶部显示
contentover 释放立即刷新 手指下拉到指定位置时顶部显示
contentrefresh 正在刷新... 数据请求中
contentnomore 刷新完成 下拉刷新执行完毕时显示

upText说明

属性 默认值 说明
contentdown 上拉加载更多 isNext为true时显示(触底时自动执行下次请求)
contentrefresh 正在加载... 数据请求中
contentnomore 没有更多数据了 isNext为false时显示(触底时不再执行请求)

示例

vue:

<lsj-nvuelist ref="lsjNvuelist" init :top="top" @loadData="loadData">
    <uni-cell v-for="(item,index) in list" :key="index">
        <!-- 此处写你列表view -->

    </uni-cell>
</lsj-nvuelist>

js:

data() {
    return {
        top: 0,
        list: [],
        fromData: {
            pageNum: 1,
            pageSize: 20
        }
    }
}
methods: {
    /**
     * 上下拉触发回调
     * @param {Boolean} refresh 是否为下拉刷新
     */
    async loadData(refresh) {
        // ---- start 以下内容根据自己业务自行修改 start -----
        // 异步获取数据
        let promise = new Promise((resolve, reject) => {setTimeout(() => resolve('仿接口请求体验'), 500)})
        let res = await promise;

        // 如果是下拉刷新,重置列表数据及分页参数
        if (refresh) {
            this.fromData.pageNum = 1;
            this.list = [];
        }
        for (let i=0,len=20;i<len;i++) {this.list.push({name:i});}

        let isNext = this.list.length >= 100;
        // 如果还有下一页,则下次请求page+1;
        if (!isNext) {
            this.fromData.pageNum++;
        }
        // ---- end -----

        // 结束刷新效果 
        // isNext决定是否还可以继续上拉加载更多数据
        this.$refs.lsjNvuelist.endLoad(refresh,isNext);
    }
}

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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