国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵

這篇具有很好參考價(jià)值的文章主要介紹了讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

上拉加載和下拉刷新是小程序開發(fā)的常見需求。本文將介紹如何在微信小程序中實(shí)現(xiàn)上拉加載和下拉刷新的功能,為用戶帶來更加流暢、便捷的使用體驗(yàn)。


實(shí)現(xiàn)效果如下:

讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵


實(shí)現(xiàn)思路:

1. 首先需要在使用到的 json 文件下配置 "enablePullDownRefresh": true

{
   "usingComponents": {},
   "enablePullDownRefresh": true,
}

2. 在 js 文件中加上觸底函數(shù)跟上拉函數(shù)

//觸底函數(shù)
onReachBottom(){
    console.log("上拉加載....");
},
//上拉函數(shù)
onPullDownRefresh(){
    console.log("下拉刷新...");
},

3. 請求接口,將新請求的數(shù)據(jù)通過 cancat 方法合并到 list 數(shù)組中,然后更新數(shù)據(jù)

注: concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組

this.data.page++;
let list = that.data.list.concat(res.data.data.rows)
that.setData({
    list: list,
    loading: false,
});

4. 對數(shù)據(jù)進(jìn)行判斷,如果列表數(shù)據(jù)條數(shù)小于總條數(shù),隱藏 “正在加載” 字樣,顯示 “已加載全部” 字樣

if (res.data.data.rows.length < this.data.limit) {
    that.setData({
        loading: false,
        loaded: true,
    });
}

5. 上拉加載時(shí),改變文字狀態(tài),然后調(diào)用接口

let that = this;
if (!that.data.loading) {
    that.setData({
        loading: true,
        loaded: false 
    });
}
setTimeout(function () {
    that.licensePort();
}, 500)

6. 下拉刷新時(shí),將頁碼重置為 1 然后再次調(diào)用接口即可,但是不要忘了刷新完成后要關(guān)閉刷新的操作:wx.hideNavigationBarLoading()wx.stopPullDownRefresh() 。

 this.data.list = []
 wx.showNavigationBarLoading() 
 this.setData({
     page: 1
 });
 this.licensePort(); 
 setTimeout(function () {
     wx.showToast({
         title: '刷新成功',
         icon: 'none',
         duration: 1000
     })
     wx.hideNavigationBarLoading() 
     wx.stopPullDownRefresh() 
 }, 1000)

其他你可能關(guān)注的配置:

json文件中:

1. backgroundTextStyle: light // 刷新時(shí)三個(gè)點(diǎn)的顏色,只能是 light 或者 dark

讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵

2. backgroundColor: #FC1944 // 刷新時(shí)背景的顏色

讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵

js文件中:

3.wx.showNavigationBarLoading() // 在標(biāo)題欄中顯示加載

讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵


各文件完整代碼如下:

wxml文件

<!-- 內(nèi)容 -->
<view class="navBox" wx:for="{{list}}" wx:key="index">
    <view><text class="lableBox">區(qū)縣</text><text>{{item.dqbm}}</text></view>
    <view><text class="lableBox">聯(lián)系人</text> <text>{{item.lxr}}</text></view>
    <view><text class="lableBox">電話</text> <text>{{item.lxdh}}</text></view>
    <view><text class="lableBox">地址</text> <text>{{item.qydz}}</text></view>
</view>
<!-- 加載時(shí)文字 -->
<view class="bomTxt">
    <view hidden="{{!loading}}">正在加載...</view>
    <view hidden="{{!loaded}}">已加載全部</view>
</view>

js文件

//獲取應(yīng)用實(shí)例
var app = getApp();
Page({
    data: {
        page: 1, //當(dāng)前第幾頁
        limit: 10, //一頁展示幾條
        list: [], //所有數(shù)據(jù)
        loading: false, //是否展示 “正在加載” 字樣
        loaded: false //是否展示 “已加載全部” 字樣
    },
    //生命周期函數(shù)--監(jiān)聽頁面加載
    onLoad: function (options) {
        this.informPort(); //調(diào)用接口方法
    },
    // 企業(yè)信息接口
    informPort() {
        var that = this; // //防止this指向問題
        // 后臺需要的參數(shù)
        app.http.informPort({
            qymc: "",
            page: this.data.page,
            limit: this.data.limit,
        }).then(res => {
            if (res.data.code == '10000') {
                if (res.data.data.records && res.data.data.records.length > 0) {
                    // console.log("請求成功", res.data.data.records)
                    that.data.page++
                    //新請求的數(shù)據(jù)通過cancat方法合并到list數(shù)組中
                    let list = that.data.list.concat(res.data.data.records)
                    // 更新數(shù)據(jù)
                    that.setData({
                        list: list,
                        loading: false,
                    });
                    //如果列表數(shù)據(jù)條數(shù)小于總條數(shù),隱藏 “正在加載” 字樣,顯示 “已加載全部” 字樣
                    if (res.data.data.records.length < that.data.limit) {
                        that.setData({
                            loading: false,
                            loaded: true,
                        });
                    }
                } else {
                    that.setData({
                        loaded: true, //顯示 “沒有數(shù)據(jù)” 字樣 
                        loading: false //隱藏 “正在加載” 字樣
                    });
                }
            }
        })
    },
    // 觸底函數(shù)---上拉加載
    onReachBottom() {
        let that = this; //防止this指向問題
        if (!that.data.loading) {
            that.setData({
                loading: true, //加載中
                loaded: false //是否加載完所有數(shù)據(jù)
            });
        }
        //延時(shí)調(diào)用接口
        setTimeout(function () {
            that.informPort();
        }, 500)
    },
    // 上拉函數(shù)---下拉刷新
    onPullDownRefresh() {
     	this.data.list = []
        wx.showNavigationBarLoading() //在標(biāo)題欄中顯示加載圈圈
        this.setData({
            page: 1
        }); //重置頁碼
        app.http.informPort().then(res => {
            if (res.data.code == '10000') {
                setTimeout(function () {
                    wx.showToast({
                        title: '刷新成功',
                        icon: 'none',
                        duration: 1000
                    })
                    wx.hideNavigationBarLoading() //完成停止加載
                    wx.stopPullDownRefresh() //停止下拉刷新
                }, 1000)
            } else if (res.data.code != 10000) {
                setTimeout(function () {
                    wx.showToast({
                        title: '刷新失敗',
                        icon: 'none',
                        duration: 1000
                    })
                    wx.hideNavigationBarLoading() //完成停止加載
                    wx.stopPullDownRefresh() //停止下拉刷新
                }, 1000)
            }
        })
    }
})

wxss文件

page {
    background: #EFF4FF;
}

.navBox {
    margin: 2.5%;
    font-size: 14px;
    border-radius: 36rpx;
    background: white;
}

.lableBox {
    display: inline-block;
    width: 90px;
    text-align: right;
    margin-right: 30rpx;
}

.navBox view {
    padding: 24rpx 30rpx;
}

.navBox view:not(:last-child) {
    border-bottom: 1px solid rgb(235, 237, 239);
}

.bomTxt {
    display: flex;
    justify-content: center;
    font-size: 12px;
    color: rgb(126, 138, 155);
    padding: 0rpx 0rpx 20rpx 0rpx;
}

json文件

{
  "usingComponents": {},
  "navigationBarBackgroundColor": "#6197FB",
  "navigationBarTitleText": "企業(yè)信息",
  "enablePullDownRefresh": true,
  "backgroundTextStyle": "light",
  "backgroundColor": "#6197FB"
}

相關(guān)推薦

? 【完全指南】vue+vant實(shí)現(xiàn)上拉加載下拉刷新,加速你的頁面響應(yīng)速度文章來源地址http://www.zghlxwxcb.cn/news/detail-507459.html

到了這里,關(guān)于讓你的微信小程序?qū)τ脩舾佑押茫荷侠虞d和下拉刷新就是關(guān)鍵的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 好的代碼風(fēng)格,如同書法,讓你的代碼更加漂亮

    好的代碼風(fēng)格,如同書法,讓你的代碼更加漂亮

    很多初學(xué)者的代碼其實(shí)都不夠“漂亮”,那是因?yàn)闆]有養(yǎng)成好的編碼習(xí)慣。本篇博客以C語言為例,總結(jié)一些好習(xí)慣。其實(shí),很多習(xí)慣都是肌肉記憶,舉個(gè)例子:請你寫一個(gè)程序,輸入2個(gè)整數(shù)并輸出它們的和。有些朋友可能寫出來是這個(gè)樣子。 我寫這段代碼,是在模仿有些朋

    2024年02月01日
    瀏覽(18)
  • 華為云桌面Workspace,讓你的辦公更加舒適愜意

    華為云桌面Workspace,讓你的辦公更加舒適愜意

    在各行各業(yè)轉(zhuǎn)型的過程中,企業(yè)對于線上辦公的需求不斷增多,越來越需要一個(gè)云辦公平臺,為企業(yè)更好實(shí)現(xiàn)數(shù)字化網(wǎng)絡(luò)化辦公降本增效。正逢佳節(jié)之際,在此為各大企業(yè)推薦一個(gè)高效的辦公神器——華為云桌面Workspace。相信作為企業(yè)決策者的你們在了解這款產(chǎn)品的優(yōu)勢后會(huì)

    2024年02月13日
    瀏覽(20)
  • 推薦5款讓你的電腦更加有趣的小工具

    推薦5款讓你的電腦更加有趣的小工具

    今天推薦的都是一些讓你的電腦更加有趣的小工具,喜歡的可以自行在搜索引擎搜索下載。 TranslucentTB是一款用于電腦任務(wù)欄美化的軟件,可以將Windows 10的任務(wù)欄設(shè)置成透明模式,透明狀態(tài)下的任務(wù)欄,搭配一張好看的壁紙,視覺效果將超乎你的想象。這款軟件本身的操作也

    2024年02月13日
    瀏覽(20)
  • LoadRunner參數(shù)化最佳實(shí)踐:讓你的性能測試更加出色!

    LoadRunner參數(shù)化最佳實(shí)踐:讓你的性能測試更加出色!

    距離上次使用loadrunnr 已經(jīng)有一年多的時(shí)間了。初做測試時(shí)在項(xiàng)目中用過,后面項(xiàng)目中用不到,自己把重點(diǎn)放在了工具之外的東西上,認(rèn)為性能測試不僅僅是會(huì)用工具,最近又想有一把好的利器畢竟可以幫助自己更好的完成性能測試工作。這算是一個(gè)認(rèn)知的過程吧! 在次安裝

    2023年04月25日
    瀏覽(25)
  • 快速搭建API隨心搭,讓你的web開發(fā)更加高效

    快速搭建API隨心搭,讓你的web開發(fā)更加高效

    隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的應(yīng)用和服務(wù)需要通過API接口來實(shí)現(xiàn)。API(Application Programming Interface,應(yīng)用程序編程接口)可以理解為兩個(gè)軟件之間的橋梁,通過API接口,兩個(gè)軟件可以相互交流并進(jìn)行數(shù)據(jù)交換。如今,API已經(jīng)成為許多公司和應(yīng)用程序的核心,因此快速搭建并管

    2024年02月08日
    瀏覽(23)
  • 什么是CI/CD?讓你的項(xiàng)目變得更加敏捷!

    什么是CI/CD?讓你的項(xiàng)目變得更加敏捷!

    在今天這個(gè)快速變化的時(shí)代,開發(fā)者們需要與時(shí)俱進(jìn),不斷提升自己的工作效率。在這篇文章里,將一起探討 如何使用CI/CD和Github Action讓你的項(xiàng)目更加高效,快速響應(yīng)市場變化。 CI(持續(xù)集成,Continuous Integration)是一種軟件開發(fā)實(shí)踐,它要求開發(fā)者頻繁地將代碼集成到共享

    2024年02月16日
    瀏覽(28)
  • 點(diǎn)擊器自動(dòng)點(diǎn)擊器,讓你的屏幕操作變得更加簡單

    點(diǎn)擊器自動(dòng)點(diǎn)擊器,讓你的屏幕操作變得更加簡單

    點(diǎn)擊器自動(dòng)點(diǎn)擊器,也被稱為屏幕點(diǎn)擊器或鼠標(biāo)連點(diǎn)器,是一種能夠模擬人類點(diǎn)擊行為的工具。它可以在特定時(shí)間間隔內(nèi)自動(dòng)執(zhí)行鼠標(biāo)點(diǎn)擊操作,來代替用戶手動(dòng)點(diǎn)擊屏幕。這種工具通常運(yùn)行在Windows、MacOS和Linux等操作系統(tǒng)上,并可以與其他軟件集成使用。 ? 以下是本文的主

    2024年02月09日
    瀏覽(21)
  • 五大優(yōu)化技巧,讓你的視頻直播app源碼更加流暢

    五大優(yōu)化技巧,讓你的視頻直播app源碼更加流暢

    視頻直播app源碼在確保流暢體驗(yàn)方面是至關(guān)重要的。為了提升性能,以下是幾項(xiàng)關(guān)鍵的優(yōu)化技巧: 使用輕量級編碼器和解碼器 :選擇高效的編碼器和解碼器,以減少資源占用,并確保視頻流暢播放。 優(yōu)化視頻分辨率和比特率 :根據(jù)用戶設(shè)備和網(wǎng)絡(luò)條件,適當(dāng)調(diào)整視頻分辨率

    2024年02月09日
    瀏覽(26)
  • 華為手機(jī)錄屏全攻略,讓你的錄制更加順暢

    華為手機(jī)錄屏全攻略,讓你的錄制更加順暢

    “求助!華為手機(jī)錄屏在哪里呀,有人知道嗎?平時(shí)不用的時(shí)候也看見過,就沒在意,現(xiàn)在需要用到錄屏了,卻找不到了,真的很頭疼,有沒有人了解的,教教我。” 隨著智能手機(jī)的普及和移動(dòng)娛樂需求的增長,越來越多的用戶開始關(guān)注手機(jī)錄屏功能。手機(jī)錄屏可以幫助用戶

    2024年02月04日
    瀏覽(53)
  • 不用GPT4,如何讓你的AI助理更加智能

    不用GPT4,如何讓你的AI助理更加智能

    小伙伴們新年好啊,頹廢的 2023 年總算是過去了,過去這一年因?yàn)樽约旱臓顟B(tài)不太好,一直也沒怎么更新,2024 年是時(shí)候重新拾起行囊再出發(fā)啦! 去年年底我寫過一篇《大模型小助手,Mac 工程師如何擁有自己的人工智能》,在那篇文章里我介紹了如何利用自己手頭的計(jì)算資源

    2024年02月22日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包