Rumah hujung hadapan web View.js Bagaimana untuk melaksanakan fungsi pengisihan jadual dan halaman dalam dokumen Vue

Bagaimana untuk melaksanakan fungsi pengisihan jadual dan halaman dalam dokumen Vue

Jun 20, 2023 pm 06:35 PM
vue fungsi halaman menyusun jadual

Vue ialah rangka kerja JavaScript popular yang sering digunakan untuk membangunkan aplikasi halaman tunggal (SPA). Apabila kami perlu memaparkan sejumlah besar data dalam aplikasi Vue, kami biasanya menggunakan jadual untuk membentangkan data. Pengisihan dan penomboran jadual adalah sangat penting untuk memudahkan pengguna menyemak imbas data. Artikel ini akan memperkenalkan cara menggunakan fungsi pengisihan jadual dan halaman dalam aplikasi Vue.

1. Laksanakan pengisihan jadual

Pertama, kita perlu memperkenalkan perpustakaan JavaScript yang dipanggil "lodash" ke dalam aplikasi Vue. Lodash ialah pustaka alat yang sangat berguna yang menyediakan banyak fungsi praktikal yang boleh memudahkan kerja pembangunan kami.

Seterusnya, dalam pilihan "data" komponen Vue, tentukan tatasusunan untuk menyimpan data yang ingin kami persembahkan. Kita juga perlu mentakrifkan harta untuk mengisih, seperti "sortKey" dan "reverse", dan menetapkan nilai lalainya masing-masing kepada "name" dan "false".

data() {
  return {
    items: [
      { name: 'John', age: 20 },
      { name: 'Bob', age: 25 },
      { name: 'Alice', age: 30 },
      { name: 'Peter', age: 35 }
    ],
    sortKey: 'name',
    reverse: false
  }
},
Salin selepas log masuk

Seterusnya, kita perlu mentakrifkan acara klik untuk setiap lajur dalam pengepala supaya pengguna boleh mengisih mengikut lajur dengan mengklik pada pengepala. Pertama, kita perlu menentukan kaedah "sortBy" yang akan digunakan untuk mengisih data. Dalam kaedah ini, kita perlu terlebih dahulu menyimpan medan untuk diisih dalam atribut "sortKey", dan kemudian mengisih berdasarkan keadaan atribut "terbalik".

methods: {
  sortBy(key) {
    this.sortKey = key;
    this.reverse = !this.reverse;
    this.items.sort((a, b) => {
      let modifier = 1;
      if (this.reverse) modifier = -1;
      if (a[this.sortKey] < b[this.sortKey]) return -1 * modifier;
      if (a[this.sortKey] > b[this.sortKey]) return 1 * modifier;
      return 0;
    });
  }
},
Salin selepas log masuk

Akhir sekali, kita perlu menggunakan arahan v-on untuk mengikat acara klik dan memanggil kaedah sortBy dalam setiap lajur pengepala jadual.

<th v-on:click="sortBy('name')">Name</th>
<th v-on:click="sortBy('age')">Age</th>
Salin selepas log masuk

2. Laksanakan halaman jadual

Apabila kita perlu membentangkan sejumlah besar data, memaparkan semua data dalam satu jadual boleh menyebabkan halaman menatal perlahan. Oleh itu, kita perlu membahagikan data kepada berbilang halaman dan memaparkannya secara berasingan. Berikut ialah cara untuk melaksanakan paging.

Dalam pilihan "data" komponen Vue, kita perlu menentukan sifat "currentPage" untuk menjejak halaman yang dipaparkan pada masa ini. Dan tentukan atribut "pageSize" untuk menentukan bilangan item yang terkandung dalam setiap halaman.

data() {
  return {
    items: [
      { name: 'John', age: 20 },
      { name: 'Bob', age: 25 },
      { name: 'Alice', age: 30 },
      { name: 'Peter', age: 35 }
    ],
    currentPage: 1,
    pageSize: 2
  }
},
Salin selepas log masuk

Seterusnya, kita perlu menentukan sifat yang dikira yang akan mengembalikan subset item yang diperlukan untuk halaman semasa.

computed: {
  displayedItems() {
    let start = (this.currentPage - 1) * this.pageSize;
    let end = start + this.pageSize;
    return this.items.slice(start, end);
  }
},
Salin selepas log masuk

Akhir sekali, kita perlu menambah komponen paging pada templat Vue. Kami boleh menggunakan Vuetify, Bootstrap atau CSS tersuai untuk mencipta komponen halaman Di sini kami mengambil CSS tersuai sebagai contoh.

<ul class="pagination">
  <li v-bind:class="{ disabled: currentPage === 1 }" v-on:click="currentPage--">
    <a>Previous</a>
  </li>
  <li v-for="pageNumber in pages" v-bind:class="{ active: currentPage === pageNumber }" v-on:click="currentPage = pageNumber">
    <a>{{ pageNumber }}</a>
  </li>
  <li v-bind:class="{ disabled: currentPage === pageCount }" v-on:click="currentPage++">
    <a>Next</a>
  </li>
</ul>
Salin selepas log masuk

Dalam komponen Vue, kita perlu menentukan dua sifat terkira baharu, "pageCount" mengira jumlah halaman dan "halaman" mengira tatasusunan yang digunakan untuk memaparkan nombor halaman dalam gelung.

computed: {
  pageCount() {
    return Math.ceil(this.items.length / this.pageSize);
  },
  pages() {
    let pagesArray = [];
    for (let i = 1; i <= this.pageCount; i++) {
      pagesArray.push(i);
    }
    return pagesArray;
  }
},
Salin selepas log masuk

Dengan cara ini, kami telah menyelesaikan pelaksanaan paging jadual. Apabila kita mengklik pada nombor halaman dalam komponen penomboran, sifat "currentPage" dikemas kini dengan sewajarnya dan sifat dikira "displayedItems" digunakan untuk memaparkan item yang diperlukan untuk nombor halaman semasa. Ringkasnya, tidak sukar untuk melaksanakan pengisihan jadual dan halaman dalam Vue, dan ia boleh dicapai dengan mudah menggunakan kaedah di atas.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pengisihan jadual dan halaman dalam dokumen Vue. 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)

Vue menyedari kesan menatal marquee/teks Vue menyedari kesan menatal marquee/teks Apr 07, 2025 pm 10:51 PM

Melaksanakan kesan menatal marquee/teks di VUE, menggunakan animasi CSS atau perpustakaan pihak ketiga. Artikel ini memperkenalkan cara menggunakan animasi CSS: Buat teks tatal dan bungkus teks dengan & lt; div & gt;. Tentukan animasi CSS dan tetapkan limpahan: tersembunyi, lebar, dan animasi. Tentukan frasa key, set Transform: TranslateX () pada permulaan dan akhir animasi. Laraskan sifat animasi seperti tempoh, kelajuan tatal, dan arah.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Apa maksudnya untuk memuatkan vue malas? Apa maksudnya untuk memuatkan vue malas? Apr 07, 2025 pm 11:54 PM

Dalam vue.js, pemuatan malas membolehkan komponen atau sumber dimuatkan secara dinamik seperti yang diperlukan, mengurangkan masa pemuatan halaman awal dan meningkatkan prestasi. Kaedah pelaksanaan khusus termasuk menggunakan & lt; menyimpan-Alive & gt; dan & lt; komponen adalah & gt; komponen. Harus diingat bahawa pemuatan malas boleh menyebabkan masalah fouc (skrin percikan) dan harus digunakan hanya untuk komponen yang memerlukan pemuatan malas untuk mengelakkan overhead prestasi yang tidak perlu.

Cara Menggunakan Pagination Vue Cara Menggunakan Pagination Vue Apr 08, 2025 am 06:45 AM

Pagination adalah teknologi yang memisahkan set data besar ke dalam halaman kecil untuk meningkatkan prestasi dan pengalaman pengguna. Di VUE, anda boleh menggunakan kaedah terbina dalam berikut untuk paging: Kirakan jumlah halaman: TotalPages () Traversal Page Number: V-For Directive Untuk menetapkan halaman semasa: CurrentPage Dapatkan data halaman semasa: CurrentPagedata ()

Apakah yang dimaksudkan dengan nilai komponen Vue? Apakah yang dimaksudkan dengan nilai komponen Vue? Apr 07, 2025 pm 11:51 PM

Nilai lulus komponen Vue adalah mekanisme untuk meluluskan data dan maklumat antara komponen. Ia boleh dilaksanakan melalui sifat (props) atau peristiwa: Props: Mengisytiharkan data yang akan diterima dalam komponen dan lulus data dalam komponen induk. Peristiwa: Gunakan kaedah $ emit untuk mencetuskan peristiwa dan dengarlah dalam komponen induk menggunakan Arahan V-On.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara menggunakan fungsi vue render Cara menggunakan fungsi vue render Apr 08, 2025 am 06:48 AM

Fungsi render dalam vue.js adalah API rendering lanjutan yang membolehkan pemaju mengawal penjanaan DOMS maya (VDOMs) melalui fungsi JavaScript tulen (fungsi H). Manfaat menggunakan fungsi Render termasuk prestasi yang lebih tinggi, fleksibiliti yang lebih tinggi, kesesuaian yang lebih baik, dan keserasian dengan JSX.

See all articles