Maison >Applet WeChat >Développement de mini-programmes >Exemple de code d'applet WeChat : plus de méthodes d'implémentation pour le chargement pull-up

Exemple de code d'applet WeChat : plus de méthodes d'implémentation pour le chargement pull-up

不言
不言original
2018-08-21 16:43:002984parcourir

Le contenu de cet article concerne l'exemple de code de l'applet WeChat : davantage de méthodes d'implémentation de chargement pull-up, qui ont une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère que cela vous sera utile.

1. Environnement de code

J'ai utilisé le composant scroll-view au début, mais lorsque je l'ai utilisé sur une vraie machine, j'ai découvert que lorsque davantage de pull-ups étaient chargés, les données sauté, ce qui a affecté l'interaction de l'utilisateur et ce n'est pas convivial, j'ai donc décidé de modifier le pull-up pour charger plus d'effets

J'utilise le framework wepy, je fais référence à plusieurs documents en ligne, et je me réfère également aux documents officiels . L'utilisation principale est l'événement onReachBottom()

2 Code

View layer :

<repeat for="{{recordList}}" key="index" index="index" item="item" >
   <view class="zan-panel">
      <view class="zan-cell">
         <view class="zan-cell__bd">变更内容:{{item.typeText}}</view>
         <view class="zan-cell__ft">¥<text style="padding-left:4rpx">{{item.totalFee/100}}</text></view>
      </view>
      <view class="zan-cell">
         <view class="zan-cell__bd zan-font-12 zan-c-gray-dark">变更时间:{{item.updateTime}}</view>
      </view>
   </view>
</repeat>
<block wx:if="{{recordList.length > pageSize}}">
   <block wx:if="{{updateLoadShow}}">
      <updateLoad :loading="updateLoadShow"></updateLoad>
   </block>
   <view class="doc-description zan-center" style="font-size:12px;" wx:else>
      <text>{{updateLoadTxt}}</text>
   </view>
</block>

Explication : Si les données ne dépassent pas un écran, l'extraction vers le haut ne déclenchera pas l'événement onReachBottom(), donc le traitement que j'ai effectué était "(hauteur actuelle de l'écran / hauteur réelle d'une boucle de liste ) + 1" pour garantir que les données peuvent dépasser un écran.

onLoad() {
    // 获取系统消息
    wepy.getSystemInfo({
      success: (res) => {
        this.height = res.windowHeight
        this.pageSize = Math.round(res.windowHeight / 103) + 1
        this.$apply()
      }
    })
}
Écriture de couche logique :

// 上拉加载
onReachBottom() {
    // 上拉加载更多loading
    this.updateLoadShow = true
    let _length = this.recordList.length
    // 列表长度与列表总数对比
    if (_length === this.pagtotal) {
      setTimeout(() => {
        this.updateLoadShow = false
        this.$apply()
      }, 1000)
    } else {
      // 当前页码加一
      this.pageNum++
      // 更新数据
      this.getData()
    }
}
// 获取数据
getData() {
    const pageNum = this.pageNum
    api.get(recordURL + &#39;queryBalanceSub?start=&#39; + pageNum + &#39;&size=&#39; + this.pageSize + &#39;&sortStr=update_time&sortType=desc&#39;).then(({data}) => {
      if (pageNum === 1) {
        this.recordList = data.list
        this.pagtotal = data.totalRow
      } else {
        this.recordList = this.recordList.concat(data.list)
      }
      this.loadingShow = false
      this.updateLoadShow = false
      this.$apply()
    })
  }
Recommandations associées :

Exemple d'applet WeChat : quatre méthodes de saut de page (avec code)

Exemple de programme WeChat Mini : code d'implémentation de la fenêtre contextuelle dans le programme WeChat Mini

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn