Rumah hujung hadapan web uni-app Cara melaksanakan klik untuk memuatkan lebih banyak fungsi dalam uniapp

Cara melaksanakan klik untuk memuatkan lebih banyak fungsi dalam uniapp

Apr 17, 2023 am 10:30 AM

Dengan perkembangan industri telefon mudah alih, aplikasi mudah alih menjadi semakin popular, dan pembangunan berbilang terminal telah menjadi kaedah biasa. Berdasarkan ini, uniapp ternyata menjadi rangka kerja pembangunan yang boleh membangunkan iOS, Android, H5 dan platform lain pada masa yang sama. Dalam uniapp, bagaimana untuk mencapai lebih banyak klik untuk memuatkan?

1. Gunakan komponen uni-list

Uni-list ialah komponen senarai yang dirangkumkan oleh uniapp, yang melaksanakan pemaparan dan penatalan senarai. Dalam senarai uni, pemuat atribut tambahan ditetapkan, yang boleh memuatkan halaman seterusnya secara automatik selepas meluncur ke bawah.

Pertama, tentukan komponen senarai-uni dalam templat dan tetapkan atribut loadmore kepada benar Kodnya adalah seperti berikut:

<template>
  <uni-list :loadmore="true" :loadtext="loadtext" @loadmore="getMoreData">
    <uni-list-item v-for="(item, index) in listData" :key="index">
      {{item}}
    </uni-list-item>
  </uni-list>
</template>
Salin selepas log masuk

Antaranya, loadtext ialah teks yang dipaparkan semasa memuatkan. , dan getMoreData ialah kaedah Tersuai yang digunakan untuk mendapatkan data halaman seterusnya.

Seterusnya, tentukan data data dan kaedah getMoreData dalam skrip Kodnya adalah seperti berikut:

<script>
  export default {
    data() {
      return {
        // 列表数据
        listData: [],
        // 加载时的文本提示
        loadtext: '正在加载...',
        // 当前页码
        currentPage: 1,
        // 每页展示数量
        pageSize: 10
      }
    },
    methods: {
      getMoreData() {
        // 发送请求获取下一页数据
        uni.request({
          url: 'https://example.com/getMoreData',
          data: {
            page: this.currentPage + 1,
            pageSize: this.pageSize
          },
          success: res => {
            // 将数据添加到列表中
            this.listData = this.listData.concat(res.data.list)
            // 将页码+1
            this.currentPage++
            // 如果没有更多数据了,显示已经到底部
            if (!res.data.hasMoreData) {
              this.loadtext = '没有更多了'
            }
          },
          fail: err => {
            console.log(err)
          }
        })
      }
    }
  }
</script>
Salin selepas log masuk

Kaedah getMoreData melaksanakan fungsi menghantar permintaan untuk mendapatkan data halaman seterusnya. , dan memperoleh data Kemudian tambahkannya pada senarai. Pada masa yang sama, apabila tiada lagi data untuk dimuatkan, teks muatan ditetapkan kepada "tiada lagi".

2. Butang tersuai untuk mencetuskan pemuatan lebih banyak

Selain menggunakan atribut loadmore uni-list, kami juga boleh menggunakan butang tersuai untuk mencetuskan pemuatan lebih banyak fungsi. Kaedah pelaksanaan khusus adalah seperti berikut.

Pertama, tambahkan butang tersuai dalam templat untuk mencetuskan pemuatan lagi Kodnya adalah seperti berikut:

<template>
  <div>
    <uni-list :loadmore="false">
      <uni-list-item v-for="(item, index) in listData" :key="index">
        {{item}}
      </uni-list-item>
    </uni-list>
    <button @click="getMoreData">点击加载更多</button>
  </div>
</template>
Salin selepas log masuk

Antaranya, atribut loadmore bagi uni-list ditetapkan kepada false, yang bermaksud Tidak memuatkan lebih banyak secara automatik dan perlu dicetuskan secara manual dengan mengklik butang.

Kemudian, tentukan data data dan kaedah getMoreData dalam skrip Kodnya adalah seperti berikut:

<script>
  export default {
    data() {
      return {
        // 列表数据
        listData: [],
        // 当前页码
        currentPage: 1,
        // 每页展示数量
        pageSize: 10,
        // 是否有更多数据
        hasMoreData: true
      }
    },
    methods: {
      getMoreData() {
        // 发送请求获取下一页数据
        uni.request({
          url: 'https://example.com/getMoreData',
          data: {
            page: this.currentPage + 1,
            pageSize: this.pageSize
          },
          success: res => {
            // 将数据添加到列表中
            this.listData = this.listData.concat(res.data.list)
            // 将页码+1
            this.currentPage++
            // 如果没有更多数据了,隐藏按钮
            if (!res.data.hasMoreData) {
              this.hasMoreData = false
            }
          },
          fail: err => {
            console.log(err)
          }
        })
      }
    }
  }
</script>
Salin selepas log masuk

Dalam kaedah getMoreData, kami juga menghantar permintaan untuk mendapatkan halaman seterusnya. data, dan selepas memperoleh data Tambahnya pada senarai. Apabila tiada lagi data, tetapkan hasMoreData kepada palsu supaya butang tidak lagi dipaparkan.

Akhir sekali, kita perlu menetapkan v-if judgement pada butang untuk menilai sama ada terdapat lebih banyak data Kod tersebut adalah seperti berikut:

<button v-if="hasMoreData" @click="getMoreData">点击加载更多</button>
Salin selepas log masuk

Dengan cara ini, kita boleh klik. butang untuk memuatkan lebih banyak data secara manual.

Ringkasan

Artikel ini memperkenalkan dua cara untuk mencapai lebih banyak klik untuk muat dalam uniapp: menggunakan komponen senarai uni dan pencetus butang tersuai. Sama ada cara, ia pada asasnya kaedah menghantar permintaan untuk mendapatkan lebih banyak data dan menambahkannya ke senarai. Bagi pembangun, mana-mana kaedah pelaksanaan yang mereka pilih boleh dipilih berdasarkan senario tertentu.

Atas ialah kandungan terperinci Cara melaksanakan klik untuk memuatkan lebih banyak fungsi 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Mar 27, 2025 pm 04:47 PM

Lazy Loading Delers Non-kritikal Sumber untuk meningkatkan prestasi tapak, mengurangkan masa beban dan penggunaan data. Amalan utama termasuk mengutamakan kandungan kritikal dan menggunakan API yang cekap.

Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Mar 27, 2025 pm 04:50 PM

Artikel ini membincangkan mengoptimumkan imej dalam UNIPP untuk prestasi web yang lebih baik melalui mampatan, reka bentuk responsif, pemuatan malas, caching, dan menggunakan format WEBP.

Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Mar 25, 2025 pm 02:31 PM

Artikel ini membincangkan menguruskan struktur data yang kompleks di UNIPP, yang memberi tumpuan kepada corak seperti Singleton, Observer, Kilang, dan Negeri, dan strategi untuk mengendalikan perubahan keadaan data menggunakan API VUEX dan VUE 3 API.

Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Mar 25, 2025 pm 02:20 PM

UNIPP menguruskan konfigurasi global melalui manifest.json dan gaya melalui app.vue atau app.scss, menggunakan uni.scss untuk pembolehubah dan campuran. Amalan terbaik termasuk menggunakan SCSS, gaya modular, dan reka bentuk responsif.

Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Mar 25, 2025 pm 02:23 PM

Ciri -ciri yang dikira oleh Uniapp, yang diperolehi dari Vue.js, meningkatkan pembangunan dengan menyediakan pengendalian data reaktif, boleh diguna semula, dan dioptimumkan. Mereka mengemas kini secara automatik apabila kebergantungan berubah, menawarkan manfaat prestasi dan memudahkan Co -Management Co

See all articles