Maison > interface Web > js tutoriel > Utiliser la pagination dans Vue

Utiliser la pagination dans Vue

Guanhui
Libérer: 2020-06-13 09:52:02
avant
2653 Les gens l'ont consulté

Utiliser la pagination dans Vue

La fonctionnalité de pagination améliore l'expérience utilisateur en permettant aux utilisateurs de visualiser les données dans des morceaux ou des pages plus petites. Voici comment créer un composant Vue.js avec pagination afin que nous ne puissions visualiser qu'une partie des données à la fois.

Je vais commencer par parcourir nos objets JavaScript un par un puis afficher le modèle.

Les seules données locales dont j'ai besoin sont le numéro de page.

data(){
    return {
      pageNumber: 0  // default to page 0
    }
}
Copier après la connexion

Pour les props, les données sont nécessaires De plus, j'ai également défini le paramètre de taille pour enregistrer le maximum de données sur chaque page.

props:{
    listData:{
      type:Array,
      required:true
    },
    size:{
      type:Number,
      required:false,
      default: 10
    }
}
Copier après la connexion

Dans les méthodes, j'ai défini deux méthodes pour la page suivante et la page précédente :

methods:{
      nextPage(){
         this.pageNumber++;
      },
      prevPage(){
        this.pageNumber--;
      }
}
Copier après la connexion

J'utilise la valeur d'attribut calculée pour calculer le nombre de pages :

pageCount(){
      let l = this.listData.length,
          s = this.size;
      return Math.floor(l/s);
}
Copier après la connexion

paginatedData est d'obtenir l'attribut calculé des données filtrées :

paginatedData(){
    const start = this.pageNumber * this.size,
          end = start + this.size;
     return this.listData.slice(start, end);
}
Copier après la connexion

Modification : Au début j'utilisais .splice pour copier le tableau, mais un moyen plus parfait est d'utiliser la méthode .slice, merci Alexander Karelas ici.

Dans le modèle :

<div>
  <ul>
    <li v-for="p in paginatedData">
      {{p.first}} 
      {{p.last}}  
      {{p.suffix}}
    </li>
  </ul>
  <button @click="prevPage">
    Previous
  </button>
  <button @click="nextPage">
    Next
  </button>
</div>
Copier après la connexion

Je souhaite empêcher l'utilisateur d'appuyer sur le bouton au début ou à la fin. Pour le bouton prevPage, j'ai ajouté : désactivé="pageNumber=0" et pour. le bouton nextPage, j'ai ajouté : désactivé="pageNumber >= pagecount -1".

Tutoriel recommandé : "Tutoriel JS"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal