Rumah  >  Artikel  >  hujung hadapan web  >  Cara mengubah suai gaya muat semula juntai bawah dalam Uniapp

Cara mengubah suai gaya muat semula juntai bawah dalam Uniapp

PHPz
PHPzasal
2023-04-17 10:30:203368semak imbas

Dalam Uniapp, muat semula tarik-turun ialah fungsi yang sangat biasa, tetapi gaya muat semula tarik-turun lalai mungkin tidak memenuhi keperluan reka bentuk UI aplikasi. Oleh itu, kita perlu mengubah suai gaya muat semula juntai bawah. Artikel ini akan memperkenalkan cara mengubah suai gaya muat semula lungsur dalam Uniapp.

Pertama sekali, muat semula tarik-turun dalam Uniapp dicapai dengan menggunakan komponen uni-scroll-view. Oleh itu, kita perlu menggunakan komponen ini untuk membuat pengubahsuaian muat semula tarik-turun.

Berikut ialah langkah khusus untuk mengubah suai gaya muat semula tarik-turun bagi paparan-tatal-uni:

Langkah 1: Tambahkan komponen paparan-tatal-satu dalam templat

Dalam templat Tambah komponen uni-scroll-view dan tambahkan pelbagai atribut yang diperlukan untuk muat semula tarik-turun.

<template>
  <view>
    <uni-scroll-view class="scroll-view"
      :scroll-top="scrollTop"
      @scrolltolower="scrollToLower"
      @scroll="scroll"
      @refresh="refresh"
      :scroll-with-animation="scrollWithAnimation"
      :enable-back-to-top="enableBackToTop"
      :refresher-enabled="true"
      :refresher-threshold="45"
      :refresher-default-style="refresherDefaultStyle"
      :refresher-background-color="refresherBackgroundColor"
      :text-style="textStyle">

      <!-- 下拉刷新的容器组件 -->
      <view class="refresh-container">
        <view v-if="isRefreshing" class="loading-box">
          <loading class="loading" type="circular" size="23"></loading>
          <text class="loading-text">正在刷新...</text>
        </view>
        <view v-else class="arrow-icon-box">
          <image :src="arrowIconSrc" class="arrow-icon" :style="{transform: pullDownStyle}" />
          <text class="refresh-text">{{ refreshText }}</text>
        </view>
      </view>

      <!-- 加载更多的容器组件 -->
      <slot></slot>
      <view v-if="isLoadingMore" class="loading-more">{{ loadingMoreText }}</view>
    </uni-scroll-view>
  </view>
</template>

Dalam templat di atas, kami telah menggunakan atribut refresher-enabled dan menetapkannya kepada true, sekali gus mendayakan ciri tarik untuk muat semula.

Langkah 2: Tambahkan gaya muat semula lungsur turun dalam gaya

Tambah pelbagai gaya yang diperlukan untuk muat semula juntai bawah dalam gaya.

<style>
  .refresh-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 45px;
    line-height: 45px;
    color: #999;
  }

  .arrow-icon-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 45px;
    line-height: 45px;
  }

  .arrow-icon {
    width: 23px;
    height: 23px;
  }

  .refresh-text {
    margin-left: 12px;
    font-size: 14px;
  }

  .loading-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 45px;
    line-height: 45px;
    color: #999;
  }

  .loading {
    margin-left: 12px;
    margin-right: 12px;
  }

  .loading-text {
    font-size: 14px;
  }
</style>

Dalam gaya di atas, kami telah mengubah suai gaya komponen bekas muat semula lungsur turun, ikon anak panah, teks muat semula, memuatkan teks dan elemen lain.

Langkah 3: Tambah data muat semula tarik turun dan peristiwa dalam skrip

Tambah data dan peristiwa yang diperlukan untuk muat semula tarik turun dalam skrip.

<script>
  export default {
    data() {
      return {
        isRefreshing: false,
        refreshText: '下拉刷新',
        arrowIconSrc: 'static/img/arrow-down.png',
        pullDownStyle: 'rotate(0deg)',
      }
    },
    methods: {
      // 下拉刷新事件
      refresh() {
        this.isRefreshing = true;
        this.refreshText = '正在刷新';
        this.arrowIconSrc = 'static/img/loading.gif';
        this.pullDownStyle = 'rotate(360deg)';
        setTimeout(() => {
          this.isRefreshing = false;
          this.refreshText = '下拉刷新';
          this.arrowIconSrc = 'static/img/arrow-down.png';
          this.pullDownStyle = 'rotate(0deg)';
        }, 2000);
      },
      // 滚动事件
      scroll(e) {
        // 滚动时记录滚动位置
        this.scrollTop = e.detail.scrollTop;
      },
      // 滚动到底部事件
      scrollToLower() {
        if (!this.isLoadingMore) {
          this.isLoadingMore = true;
          this.loadingMoreText = '加载中...';
          setTimeout(() => {
            this.isLoadingMore = false;
            this.loadingMoreText = '上拉加载更多';
          }, 2000);
        }
      },
    },
  }
</script>

Dalam acara di atas, kami melaksanakan fungsi seperti tarik-turun untuk memuat semula dan tatal ke bawah untuk memuatkan lagi.

Ringkasan

Perkara di atas adalah mengenai cara mengubah suai gaya muat semula tarik turun dalam Uniapp. Melalui langkah di atas, kami boleh menyesuaikan gaya muat semula tarik-turun dan melaksanakan fungsi muat semula tarik-turun. Semoga tutorial ini dapat membantu anda.

Atas ialah kandungan terperinci Cara mengubah suai gaya muat semula juntai bawah dalam Uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn