uni-app實現數據下拉刷新功能實例
uni-app上拉加載更多功能:https://www.jb51.net/article/257733.htm
uni-app數據下拉刷新
在 pages.json 配置文件中,為當前的 goods_list 頁面單獨開啟下拉刷新效果:
"subPackages": [{ "root": "subpkg", "pages": [{ "path": "goods_detail/goods_detail", "style": {} }, { "path": "goods_list/goods_list", "style": { "onReachBottomDistance": 150, "enablePullDownRefresh": true, "backgroundColor": "#F8F8F8" } }, { "path": "search/search", "style": {} }] }]
監聽頁面的 onPullDownRefresh 事件處理函數:
// 下拉刷新的事件 onPullDownRefresh() { // 1. 重置關鍵數據 this.queryObj.pagenum = 1 this.total = 0 this.isloading = false this.goodsList = [] // 2. 重新發起請求 this.getGoodsList(() => uni.stopPullDownRefresh()) }
修改 getGoodsList 函數,接收 cb 回調函數並按需進行調用:
// 獲取商品列表數據的方法 async getGoodsList(cb) { this.isloading = true const { data: res } = await uni.$http.get('/api/public/v1/goods/search', this.queryObj) this.isloading = false // 隻要數據請求完畢,就立即按需調用 cb 回調函數 cb && cb() if (res.meta.status !== 200) return uni.$showMsg() this.goodsList = [...this.goodsList, ...res.message.goods] this.total = res.message.total }
uni-app上拉加載更多功能:https://www.jb51.net/article/257733.htm
附:uni.startPullDownRefresh(OBJECT)
通過 uni.startPullDownRefresh(OBJECT) 開始下拉刷新,調用後觸發下拉刷新動畫,效果與用戶手動下拉刷新一致。
<template> <view> <view v-for="(item,index) of list" :key="index"> {{item}} </view> <button @click="pullDown">點擊觸發下拉刷新</button> </view> </template> <script> export default { data() { return { list: [1, 2, 3, 4, 5] } }, methods: { pullDown() { //觸發下拉刷新 uni.startPullDownRefresh() } }, onPullDownRefresh() { console.log("觸發下拉刷新") setTimeout(() => { this.list = [1, 2, 3, 5, 3, 2] //關閉下拉刷新 uni.stopPullDownRefresh() }, 2000) } } </script> <style> </style>
總結
到此這篇關於uni-app實現數據下拉刷新功能的文章就介紹到這瞭,更多相關uni-app數據下拉刷新內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!