Jadual Kandungan
Uniapp pull-down refresh
Rumah hujung hadapan web uni-app Cara menggunakan komponen scrpll-view untuk melaksanakan muat semula tarik-turun dalam uniapp

Cara menggunakan komponen scrpll-view untuk melaksanakan muat semula tarik-turun dalam uniapp

Nov 26, 2021 pm 07:57 PM
uniapp Tarik ke bawah untuk menyegarkan

Bagaimana untuk menggunakan komponen scrpll-view untuk melaksanakan muat semula tarik-turun dalam uniapp? Artikel berikut akan memperkenalkan kepada anda cara menggunakan paparan tatal untuk menyesuaikan muat semula tarik ke bawah dalam uniapp Saya harap ia akan membantu anda!

Cara menggunakan komponen scrpll-view untuk melaksanakan muat semula tarik-turun dalam uniapp

Uniapp pull-down refresh

Terdapat dua kaedah untuk uniapp pull-down refresh, satu ialah keseluruhan muat semula tarik-turun, Gunakan fungsi kitaran hayat halaman padaPullDownRefresh yang satu lagi ialah muat semula tarik-turun tempatan, juga dipanggil muat semula tarik-turun tersuai, menggunakan acara muat semula tarik-turun tersuai dalam komponen scrpll-view.

1 Muat semula seluruh halaman (onPullDownRefresh)

Tentukan fungsi pemprosesan onPullDownRefresh dalam js (dan onLoad, dsb. Tahap yang sama seperti fungsi kitaran hayat), dengar acara muat semula tarik turun pengguna halaman. [Dokumen Rasmi]Tiada pengenalan lagi di sini! Tumpuan hari ini adalah di bawah

2. Muat semula halaman tersuai (paparan tatal) yang ditemui dalam komponen

Masalahnya

  • tidak boleh mencetuskan drop-down (menyebabkan penyelesaian masalah)

    1 Bahagian luar komponen paparan tatal tidak dibalut dengan paparan laman web rasmi tidak menyebut masalah ini, tetapi Jika tiada paparan luaran yang membungkus komponen ini sahaja, tiada cara untuk mencetuskan peristiwa dalam komponen paparan tatal.

    2. Paparan tatal tidak mempunyai ketinggian tetap dalam CSS. , kandungan di dalam komponen akan dipaparkan Ia hanya akan menatal ke atas dan ke bawah dalam separuh skrin Ia tidak akan mencetuskan bar skrol halaman . Jika sukar untuk menentukan ketinggian, anda boleh menggunakan pengiraan pengiraan dalam Ini ditunjukkan dalam contoh (Perhatikan bahawa apabila menggunakan kalk untuk mengira, mesti ada ruang di sekeliling -). scss(lang='scss')3. Jika tinggi ditetapkan sebagai peratusan, drop-down tidak boleh dicetuskan Anda boleh menggunakan

    max-hight

    untuk tinggi, tetapi anda tidak boleh menggunakan min-hight. . 4 Jika tatal-y tidak ditetapkan

  • tidak menatal ke atas untuk mencetuskan lungsur turun, tetapi mencetuskan lungsur turun dalam halaman yang kelihatan
  • Lalai rasmi adalah tidak kira Di mana sahaja bar skrol halaman berada, selagi anda menatal ke atas atau ke bawah pada halaman paparan skrol, fungsi lungsur turun akan dicetuskan, yang menjadikan pengalaman pengguna sangat lemah . Anda boleh menggunakan fungsi

    yang dicetuskan semasa menatal untuk mendapatkan kedudukan bar tatal

    pandangan tatal, dan kemudian mengawal @scroll untuk menghidupkan dan mematikan penyegaran tarik ke bawah apabila tatal-. lihat skrol bar skrol ke atas, jadikan benar dan syarat lain adalah palsu. refresher-enabledrefresher-enabled

    Pergi terus ke kod untuk melihat: html:

Pada asasnya, ini adalah satu-satunya kaedah atribut yang digunakan untuk muat semula tarik-turun! js:

<template>
<view>
  <scroll-view
    show-scrollbar="true"
    style="height: 300px"
    scroll-y="true"
    :refresher-enabled="isOpenRefresh"
    :refresher-triggered="triggered"
    :refresher-threshold="100"
    refresher-background="gray"
    @refresherpulling="onPulling"
    @refresherrefresh="onRefresh"
    @refresherrestore="onRestore"
    @refresherabort="onAbort"
    @scroll="onScroll"
  >
  <view v-if="!isOpenRefresh">别拉了,没有更多了~</view>
  <view class="item" v-for="(item, index) in dataList" :key="index">{{ item }}</view>
  </scroll-view>
</view>
</template>
Salin selepas log masuk

gaya:

export default {
  data() {
    return {
      triggered: false,
      dataList: [],
      arr: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      page: 0,
      isOpenRefresh: true // 是否开启下拉
    };
  },
  onLoad() {
    this._freshing = false;
    this.getData()
  },
  methods: {
    dealArray(array, groupNum) {
      let temp = [];
      for (let i = 0, len = array.length; i < len; i += groupNum) {
        temp.push(array.slice(i, i + groupNum));
      }
      return temp;
    },
    // 自定义下拉刷新控件被下拉
    onPulling(e) {
      console.log("onpulling", e);
      if (e.detail.deltaY < 0) return  // 防止上滑页面也触发下拉
      this.triggered = true;
    },
    // 自定义下拉刷新被触发
    onRefresh() {
      if (this._freshing) return;
      this._freshing = true;
      this.page++;
      setTimeout(() => {
        this.triggered = false;
        this._freshing = false;
        this.getData();
      }, 500);
    },
    // 自定义下拉刷新被复位
    onRestore() {
      this.triggered = &#39;restore&#39;; // 需要重置
      console.error("onRestore");
    },
    // 自定义下拉刷新被中止
    onAbort() {
      console.error("onAbort");
    },
    getData() {
      // 前端模拟分页
      let temp = this.dealArray(this.arr, 3) 
      if (this.page > temp.length - 1) {
        this.isOpenRefresh = false
        return 
      }
      this.dataList.push(...temp[this.page])
    }
  },
};
Salin selepas log masuk

[Nota] Muat semula tarik-turun paparan tatal akan menyebabkan halaman meluncur ke atas dan mencetuskan tarik-turun. Anda boleh menggunakan kaedah ini dalam
<style>
view {
  text-align: center;
}
.item:nth-child(odd) {
  background-color: antiquewhite;
}
.item:nth-child(even) {
  background-color: aquamarine;
}
</style>
Salin selepas log masuk
Seperti berikut
// Halang halaman daripada tergelincir ke atas dan mencetuskan drop-down

@refresherpulling="onPulling"if (e.detail.deltaY < 0) return Demonstrasi:

Cara menggunakan komponen scrpll-view untuk melaksanakan muat semula tarik-turun dalam uniapp muncul di mana-mana pada halaman Meluncur ke bawah halaman akan mencetuskan drop-down, masalah seperti ini. Anda boleh menggunakan fungsi

atas dan membuat pengakuan di dalamnya untuk menyelesaikan masalah!

@scrolltoupper="scrolltoupper"

Anda juga boleh menggunakan
// 触顶操作-准入
scrolltoupper() {
    this.isAllowRefresh = true
}

// 自定义下拉刷新控件被下拉

onPulling(e) {
    if (e.detail.deltaY < 0) return
    if (!this.isAllowRefresh) return;
    this.isRefresh = true;
    console.log("onpulling", e);
}
Salin selepas log masuk
untuk memantau nilai
dan biarkan ia tercetus apabila

, iaitu apabila ia mencapai puncak! Pencetus lagi! Tetapi apabila dia menemuinya, dia perlu meluncurkan halaman dan bar skrol muncul, dan kemudian dia akan mendengar! Kita boleh memulakannya apabila @scroll="onScroll" supaya pembolehubahnya pada mulanya 0! scroll-top===0init

Disyorkan: "
tutorial uniapp
export default class Index extends mixins(uiMixin) {
	scrollTop: number = 0
	// 监听页面是否滚动 
	onScroll(e) {  
      this.scrollTop = e.detail.scrollTop
	}
	// 自定义下拉刷新被触发
  onRefresh() {
	if (this.scrollTop === 0) {
		if (this._freshing) return;
        this._freshing = true;
        this.page++;
       	setTimeout(() => {
          this.triggered = false;
          this._freshing = false;
          this.getData();
       }, 500);
	}
  }
})
Salin selepas log masuk
"

Atas ialah kandungan terperinci Cara menggunakan komponen scrpll-view untuk melaksanakan muat semula tarik-turun dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memulakan pratonton projek uniapp yang dibangunkan oleh webstorm Bagaimana untuk memulakan pratonton projek uniapp yang dibangunkan oleh webstorm Apr 08, 2024 pm 06:42 PM

Langkah untuk melancarkan pratonton projek UniApp dalam WebStorm: Pasang pemalam Alat Pembangunan UniApp Sambung ke tetapan peranti Pratonton pelancaran WebSocket

Mana satu lebih baik, uniapp atau mui? Mana satu lebih baik, uniapp atau mui? Apr 06, 2024 am 05:18 AM

Secara umumnya, uni-app adalah lebih baik apabila fungsi asli yang kompleks diperlukan; Selain itu, uni-app mempunyai: 1. Sokongan Vue.js/JavaScript 2. Komponen asli yang kaya 3. Ekosistem yang baik; Kelemahannya ialah: 1. Isu prestasi; 2. Kesukaran dalam menyesuaikan antara muka. MUI mempunyai: 1. Sokongan Reka Bentuk Bahan 2. Fleksibiliti tinggi 3. Perpustakaan komponen/tema yang luas. Kelemahannya ialah: 1. Kebergantungan CSS; 2. Tidak menyediakan komponen asli 3. Ekosistem kecil.

Apakah alat pembangunan yang digunakan oleh uniapp? Apakah alat pembangunan yang digunakan oleh uniapp? Apr 06, 2024 am 04:27 AM

UniApp menggunakan HBuilder

Apakah asas yang diperlukan untuk mempelajari uniapp? Apakah asas yang diperlukan untuk mempelajari uniapp? Apr 06, 2024 am 04:45 AM

pembangunan uniapp memerlukan asas berikut: teknologi bahagian hadapan (HTML, CSS, JavaScript) pengetahuan pembangunan mudah alih (platform iOS dan Android) Node.js asas lain (alat kawalan versi, IDE, simulator pembangunan mudah alih atau pengalaman penyahpepijatan mesin sebenar)

Apakah kelemahan uniapp Apakah kelemahan uniapp Apr 06, 2024 am 04:06 AM

UniApp mempunyai banyak kemudahan sebagai rangka kerja pembangunan merentas platform, tetapi kelemahannya juga jelas: prestasi dihadkan oleh mod pembangunan hibrid, mengakibatkan kelajuan pembukaan yang lemah, pemaparan halaman dan tindak balas interaktif. Ekosistem tidak sempurna dan terdapat beberapa komponen dan perpustakaan dalam bidang tertentu, yang mengehadkan kreativiti dan merealisasikan fungsi kompleks. Isu keserasian pada platform berbeza terdedah kepada perbezaan gaya dan sokongan API yang tidak konsisten. Mekanisme keselamatan WebView adalah berbeza daripada aplikasi asli, yang mungkin mengurangkan keselamatan aplikasi. Keluaran dan kemas kini aplikasi yang menyokong berbilang platform pada masa yang sama memerlukan berbilang kompilasi dan pakej, meningkatkan kos pembangunan dan penyelenggaraan.

Mana yang lebih baik, pembangunan uniapp atau asli? Mana yang lebih baik, pembangunan uniapp atau asli? Apr 06, 2024 am 05:06 AM

Apabila memilih antara UniApp dan pembangunan asli, anda harus mempertimbangkan kos pembangunan, prestasi, pengalaman pengguna dan fleksibiliti. Kelebihan UniApp ialah pembangunan merentas platform, lelaran pantas, pembelajaran mudah dan pemalam terbina dalam, manakala pembangunan asli lebih unggul dalam prestasi, kestabilan, pengalaman asli dan kebolehskalaan. Timbang kebaikan dan keburukan berdasarkan keperluan projek khusus UniApp sesuai untuk pemula, dan pembangunan asli sesuai untuk aplikasi kompleks yang mengejar prestasi tinggi dan pengalaman yang lancar.

Apakah perpustakaan komponen yang digunakan oleh uniapp untuk membangunkan program kecil? Apakah perpustakaan komponen yang digunakan oleh uniapp untuk membangunkan program kecil? Apr 06, 2024 am 03:54 AM

Pustaka komponen yang disyorkan untuk uniapp untuk membangunkan program kecil: uni-ui: Dihasilkan secara rasmi oleh uni, ia menyediakan komponen asas dan perniagaan. vant-weapp: Dihasilkan oleh Bytedance, dengan reka bentuk UI yang ringkas dan cantik. taro-ui: dihasilkan oleh JD.com dan dibangunkan berdasarkan rangka kerja Taro. fish-design: Dihasilkan oleh Baidu, menggunakan gaya reka bentuk Material Design. naive-ui: Dihasilkan oleh Youzan, reka bentuk UI moden, ringan dan mudah untuk disesuaikan.

Apakah perbezaan antara uniapp dan flutter Apakah perbezaan antara uniapp dan flutter Apr 06, 2024 am 04:30 AM

UniApp adalah berdasarkan Vue.js, dan Flutter adalah berdasarkan Dart kedua-duanya menyokong pembangunan merentas platform. UniApp menyediakan komponen yang kaya dan pembangunan mudah, tetapi prestasinya dihadkan oleh WebView Flutter menggunakan enjin pemaparan asli dengan prestasi cemerlang, tetapi lebih sukar untuk dibangunkan. UniApp mempunyai komuniti Cina yang aktif, dan Flutter mempunyai komuniti yang besar dan global. UniApp sesuai untuk senario dengan pembangunan pesat dan keperluan prestasi rendah Flutter sesuai untuk aplikasi kompleks dengan penyesuaian tinggi dan prestasi tinggi.

See all articles