1. uniapp上拉加载和下拉刷新组件mescroll-uni
Decloud组件市场

1.1. 安装以及引入
高性能下拉刷新上拉加载组件 支持


1.2. 步骤

1.2.1. 引入
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
import MescrollMoreItemMixin from "@/components/mescroll-uni/mixins/mescroll-more-item.js";
1.2.2. 注册
mixins: [MescrollMixin,MescrollMoreItemMixin],
1.2.3. 使用
<mescroll-uni :ref="'mescrollRef'+i"
@init="mescrollInit" height="100%" bottom="100" offset="0"
:down="downOption" @down="downCallback"
:up="upOption" @up="upCallback">
<uni-card :is-shadow="false" v-for="(item,index) in HistoryList" :key="item.id">
<view class="card-btn">
<view class="card-item">
{{item.orderSn}}
</view>
<view class="card-item">
{{item.senderAddress}}
</view>
<view class="card-item">
{{item.receiverAddress}}
</view>
<view class="card-item">
{{item.brandAndModel}}
</view>
<view class="card-item">
{{item.senderName}}
</view>
<view class="card-item">
<span class="orderStatusText">{{item.addTime}}</span>
</view>
<view class="card-item">
<span class="orderStatusText">{{item.confirmTime}}</span>
</view>
<view class="card-item">
</view>
<view class="card-item-picture">
<image :src="item.imageUrls.split(',')[0]" mode=""></image>
<image :src="item.imageUrls.split(',')[1]" mode=""></image>
<image :src="item.imageUrls.split(',')[2]" mode=""></image>
<image :src="item.imageUrls.split(',')[3]" mode=""></image>
</view>
</view>
</uni-card>
</mescroll-uni>
data() {
return {
activeName:'pending',
HistoryList:[],
downOption:{
auto:false
},
upOption:{
auto:false,
noMoreSize:51,
empty:{
tip: '~ 空空如也 ~',
}
},
};
},
async upCallback(page) {
const token = getToken();
if(this.activeName==='pending'){
this.showtype=2
}else{
this.showtype=3
}
const {data} = await getHistory(token,this.showtype, page.num, page.size)
const list = data.list
if(page.num === 1) {
this.HistoryList = []
this.mescroll.scrollTo(0,0)
}
this.HistoryList = this.HistoryList.concat(list)
this.mescroll.endBySize(this.HistoryList.length,data.total )判断当前数据是否已经加载完成
},