uniapp中uni-load-more的使用方式
uniapp中uni-load-more使用
1 引入uniloadmore
import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
components: {uniLoadMore},2 data中寫(xiě)的內(nèi)容
reload: false,
status: 'more',
contentText: {
contentdown: '上拉加載更多~',
contentrefresh: '加載中',
contentnomore: '我是有底線(xiàn)的~'
},3 template里面寫(xiě)的內(nèi)容
<uni-load-more :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0" />
4 請(qǐng)求接口成功之后,判斷加載狀態(tài),處理數(shù)據(jù)
success: (result) => {
this.totalCount = result.data.total
if (result.data.total > 0) {
const dataMap = result.data.list
this.dataList = this.reload ? dataMap : this.dataList.concat(dataMap);
this.reload = false;
} else {
this.dataList = [];
}
if (this.totalCount == this.dataList.length) {
this.reload = false;
this.status = 'noMore'
}
}5 監(jiān)控加載狀態(tài)
onReachBottom() {
if (this.totalCount > this.dataList.length) {
this.status = 'loading';
setTimeout(() => {
this.pageNum++
this.getMonthTask();//執(zhí)行的方法
}, 1000)//這里我是延遲一秒在加載方法有個(gè)loading效果,如果接口請(qǐng)求慢的話(huà)可以去掉
} else { //停止加載
this.status = 'noMore'
}
},uniapp - load-more觸底加載,下拉刷新
底部加載load-more(uni-ui組件)
三個(gè)狀態(tài):more、loading、nomore
- 觸底事件:onReachBottom
- 下拉刷新:onPullDownRefresh,停止下拉刷新uni.stopPullDownRefresh()
<template>
<view>
<!-- 底部加載,三個(gè)狀態(tài):more、loading、nomore -->
<uni-load-more :status="status"></uni-load-more>
</view>
</template>
<script>
export default {
data() {
return {
data: null,
status: 'more', //觸底加載狀態(tài)
page: 1, //記錄當(dāng)前頁(yè)碼
};
},
//觸底事件,請(qǐng)求數(shù)據(jù)、合并
onReachBottom() {
console.log('到底了到底了...');
this.status = 'loading';
this.getData(this.page + 1);
this.page += 1;
},
//下拉刷新,請(qǐng)求第一頁(yè)
onPullDownRefresh() {
this.getData();
},
mounted() {
this.getData();
},
methods: {
getData(page = 1) {
uni.request({
url: 'https://xxxx.....',
method: 'GET',
data: { page: page },
success: res => {
console.log(res);
//如果頁(yè)數(shù)>1,需要拼接返回的數(shù)據(jù)
if (page > 1) {
res.data.result = [...this.data.result, ...res.data.result];
}
this.data = res.data;
uni.stopPullDownRefresh(); //拿到數(shù)據(jù)后,停止下拉刷新
},
fail: () => {},
complete: () => {}
});
},
},
};
</script>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解vue2.0+vue-video-player實(shí)現(xiàn)hls播放全過(guò)程
這篇文章主要介紹了詳解vue2.0+vue-video-player實(shí)現(xiàn)hls播放全過(guò)程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
vue跳轉(zhuǎn)方式的常見(jiàn)方式以及區(qū)別分析
在Vue.js中頁(yè)面跳轉(zhuǎn)是前端開(kāi)發(fā)中常見(jiàn)的需求,Vue提供了多種頁(yè)面跳轉(zhuǎn)方式,這篇文章主要給大家介紹了關(guān)于vue跳轉(zhuǎn)方式的常見(jiàn)方式以及區(qū)別分析的相關(guān)資料,需要的朋友可以參考下2024-02-02
Vue 使用v-model實(shí)現(xiàn)控制子組件顯隱效果
v-model 可以實(shí)現(xiàn)雙向綁定的效果,允許父組件控制子組件的顯示/隱藏,同時(shí)允許子組件自己控制自身的顯示/隱藏,本文給大介紹Vue 使用v-model實(shí)現(xiàn)控制子組件顯隱,感興趣的朋友一起看看吧2023-11-11
vue項(xiàng)目本地開(kāi)發(fā)使用Nginx配置代理后端接口問(wèn)題
這篇文章主要介紹了vue項(xiàng)目本地開(kāi)發(fā)使用Nginx配置代理后端接口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
vue+Element-ui實(shí)現(xiàn)登錄注冊(cè)表單
這篇文章主要為大家詳細(xì)介紹了vue+Element-ui實(shí)現(xiàn)登錄注冊(cè)表單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
在Vue3中進(jìn)行單元測(cè)試和集成測(cè)試的操作方法
隨著越來(lái)越多的企業(yè)和開(kāi)發(fā)者選擇使用 Vue.js 構(gòu)建他們的前端應(yīng)用程序,確保代碼質(zhì)量和可靠性變得尤為重要,在本博客中,我們將深入探討如何在 Vue 3 中進(jìn)行單元測(cè)試和集成測(cè)試,并提供示例代碼來(lái)幫助您上手,需要的朋友可以參考下2025-01-01
vue-cli3項(xiàng)目生產(chǎn)和測(cè)試環(huán)境分包后文件名和數(shù)量不一致解決
這篇文章主要為大家介紹了vue-cli3項(xiàng)目生產(chǎn)和測(cè)試環(huán)境分包后文件名和數(shù)量不一致解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
vue中使用require動(dòng)態(tài)獲取圖片地址方式
這篇文章主要介紹了vue中使用require動(dòng)態(tài)獲取圖片地址方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
vue中對(duì)象數(shù)組去重的實(shí)現(xiàn)
這篇文章主要介紹了vue中對(duì)象數(shù)組去重的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
vue-loader和webpack項(xiàng)目配置及npm錯(cuò)誤問(wèn)題的解決
這篇文章主要介紹了vue-loader和webpack項(xiàng)目配置及npm錯(cuò)誤問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07

