Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk melaksanakan fungsi paging senarai dalam uniapp

Bagaimana untuk melaksanakan fungsi paging senarai dalam uniapp

王林
王林asal
2023-07-04 18:09:144144semak imbas

Cara melaksanakan fungsi paging senarai dalam uniapp

Ikhtisar:
Dalam membangunkan aplikasi mudah alih, selalunya perlu untuk memaparkan sejumlah besar data Untuk meningkatkan pengalaman pengguna, data sering dimuatkan dalam halaman, mengurangkan jumlah data dimuatkan dalam satu masa dan meningkatkan kelajuan tindak balas. Artikel ini akan memperkenalkan cara melaksanakan fungsi paging senarai dalam uniapp dan memberikan contoh kod.

  1. Persediaan:
    Pertama, anda perlu memasang dan memperkenalkan komponen uni-paging dalam projek uniapp. Ia boleh dipasang melalui npm:

    npm i uni-paging

Kemudian, perkenalkan komponen ini dalam halaman yang perlu menggunakan fungsi paging senarai:

import uniPaging from '@dcloudio/uni-paging'
  1. Gunakan komponen uni-paging:
    Seterusnya, gunakan uni-paging dalam templat daripada Komponen halaman dan tetapkan sifat dan peristiwa yang diperlukan:
<uni-paging
  ref="paging"
  :total="total"
  :current="current"
  @change="handleChange"
>
  <!-- 数据列表 -->
  <ul>
    <li v-for="item in list" :key="item.id">{{ item.name }}</li>
  </ul>

  <!-- 加载更多 -->
  <view slot="loading" class="loading">
    数据加载中...
  </view>
</uni-paging>

Antaranya, acara total属性表示总页数,current属性表示当前页码。@change akan dicetuskan apabila nombor halaman berubah, dan kami perlu memuatkan data yang sepadan dengan nombor halaman dalam acara ini.

Tentukan data yang berkaitan dalam data:

data() {
  return {
    list: [],   // 数据列表
    total: 0,   // 总页数
    current: 1  // 当前页码
  }
},

Tentukan kaedah memuatkan data dalam kaedah, dan hantar permintaan antara muka untuk mendapatkan data berdasarkan nombor halaman:

methods: {
  loadData() {
    // 发送请求获取数据,此处为示例代码
    uni.request({
      url: 'https://example.com/data',
      data: {
        page: this.current,
        pageSize: 10  // 每页显示的数据量
      },
      success: (res) => {
        if (res.statusCode === 200) {
          this.list = res.data.list;   // 更新数据列表
          this.total = res.data.total; // 更新总页数
        }
      }
    })
  },

  handleChange(current) {
    this.current = current;   // 更新当前页码
    this.loadData();         // 加载对应页码的数据
  }
},

Apabila halaman dimuatkan, mulakan komponen halaman dan muatkan data daripada halaman pertama:

onLoad() {
  const paging = this.$refs.paging;
  paging.setOptions({
    loadingText: '正在加载...',
    statusTextMap: {
      more: '加载更多',
      noMore: '没有更多'
    }
  });
  this.loadData();
}

Pada ketika ini, kami telah berjaya melaksanakan fungsi paging senarai dalam uniapp.

Ringkasan:
Dengan memperkenalkan komponen paging uni, kami boleh melaksanakan fungsi paging senarai dengan mudah dalam uniapp. Hanya tetapkan sifat dan peristiwa yang berkaitan, dan tulis kaedah untuk memuatkan data. Saya harap pengenalan dalam artikel ini akan membantu anda dalam melaksanakan fungsi paging senarai dalam pembangunan uniapp.

Contoh kod:

<template>
  <view class="container">
    <uni-paging
      ref="paging"
      :total="total"
      :current="current"
      @change="handleChange"
    >
      <ul>
        <li v-for="item in list" :key="item.id">{{ item.name }}</li>
      </ul>

      <view slot="loading" class="loading">
        数据加载中...
      </view>
    </uni-paging>
  </view>
</template>

<script>
import uniPaging from '@dcloudio/uni-paging'

export default {
  components: {
    uniPaging
  },

  data() {
    return {
      list: [],
      total: 0,
      current: 1
    }
  },

  methods: {
    loadData() {
      uni.request({
        url: 'https://example.com/data',
        data: {
          page: this.current,
          pageSize: 10
        },
        success: (res) => {
          if (res.statusCode === 200) {
            this.list = res.data.list;
            this.total = res.data.total;
          }
        }
      })
    },

    handleChange(current) {
      this.current = current;
      this.loadData();
    }
  },

  onLoad() {
    const paging = this.$refs.paging;
    paging.setOptions({
      loadingText: '正在加载...',
      statusTextMap: {
        more: '加载更多',
        noMore: '没有更多'
      }
    });
    this.loadData();
  }
}
</script>

<style>
.container {
  width: 100%;
  height: 100%;
  padding: 20rpx;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  padding: 10rpx;
  border-bottom: 1rpx solid #ddd;
}

.loading {
  text-align: center;
  padding-top: 20rpx;
  padding-bottom: 20rpx;
}
</style>

Di atas ialah contoh mudah bagaimana untuk melaksanakan fungsi paging senarai dalam uniapp. Dengan menggunakan komponen uni-paging, kami boleh melaksanakan pemuatan senarai halaman dengan mudah dan meningkatkan pengalaman pengguna. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi paging senarai 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