Maison interface Web Voir.js Conseils pour utiliser v-for pour implémenter le tri dynamique dans Vue

Conseils pour utiliser v-for pour implémenter le tri dynamique dans Vue

Jun 25, 2023 am 09:18 AM
vue v-for 动态排序

Vue est un framework JavaScript moderne qui nous aide à créer facilement des pages Web dynamiques et des applications complexes. Dans Vue, vous pouvez facilement créer des structures de boucles en utilisant v-for pour restituer les données de manière itérative. Dans certains scénarios spécifiques, nous pouvons également utiliser v-for pour implémenter le tri dynamique. Cet article présentera comment utiliser v-for pour implémenter des techniques de tri dynamique dans Vue, ainsi que quelques scénarios et exemples d'application.

1. Utilisez v-for pour un tri dynamique simple

Le moyen le plus simple d'utiliser v-for pour implémenter le tri dynamique est de trier les données via des propriétés calculées et de lier les données triées au milieu de l'instruction v-for. Cette méthode est simple et efficace, et convient aux situations où la quantité de données est faible et les conditions de tri ne sont pas trop complexes.

Par exemple, nous avons une liste qui contient les noms et les informations sur l'âge de plusieurs personnes. Nous devons maintenant trier ces données en fonction des informations sur l’âge et les afficher sur la page Web. Ensuite, nous pouvons d'abord définir un tableau de personnes dans l'instance Vue et utiliser l'instruction v-for pour le restituer dans le modèle :

<template>
  <ul>
    <li v-for="(person, index) in persons" :key="index">{{ person.name }} {{ person.age }}</li>
  </ul>
</template>
Copier après la connexion

Définissez une propriété calculée sortedPersons dans la propriété calculée de l'instance Vue, triez le tableau de personnes en fonction de age et renvoyez-le, le code est le suivant :

computed: {
  sortedPersons() {
    return this.persons.sort((a, b) => a.age - b.age);
  }
}
Copier après la connexion

Liez le tableau sortedPersons à la directive v-for dans le modèle, le code est le suivant :

<template>
  <ul>
    <li v-for="(person, index) in sortedPersons" :key="index">{{ person.name }} {{ person.age }}</li>
  </ul>
</template>
Copier après la connexion

De cette façon, nous avons atteint l'objectif de trier dynamiquement les les personnes sont classées selon leur âge.

2. Utiliser les propriétés calculées pour un tri avancé

Si vous devez effectuer un tri plus complexe sur la liste, comme un tri basé sur deux ou plusieurs conditions en même temps, vous pouvez définir une méthode de tri personnalisée dans les propriétés calculées. Implémentez un tri avancé. Cette méthode reçoit deux paramètres, à savoir le tableau à trier et la règle de tri. Dans les règles de tri, vous pouvez définir l'ordre de tri via des méthodes de jugement.

Par exemple, nous avons une liste d'employés et devons trier les employés en fonction de leur âge et de leurs années de travail. La règle de tri est la suivante : trier par ordre décroissant par âge, et si les âges sont égaux, trier par ordre croissant par années de travail. Le code est le suivant :

<template>
  <ul>
    <li v-for="(employee, index) in sortedEmployees" :key="index">{{ employee.name }} {{ employee.age }} {{ employee.experience }}</li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      employees: [
        { name: '张三', age: 25, experience: 2 },
        { name: '李四', age: 27, experience: 3 },
        { name: '王五', age: 25, experience: 1 },
        { name: '赵六', age: 30, experience: 5 },
      ],
    }
  },
  computed: {
    sortedEmployees() {
      return this.employees.sort((a, b) => {
        if (a.age < b.age) return 1;
        else if (a.age > b.age) return -1;
        else {
          if (a.experience > b.experience) return 1;
          else if (a.experience < b.experience) return -1;
          else return 0;
        }
      });
    },
  },
}
</script>
Copier après la connexion

A ce moment, on peut obtenir une liste des salariés triés par âge par ordre décroissant, et si les âges sont égaux, alors par années de travail par ordre croissant.

3. Utilisez v-for pour implémenter le tri par glisser-déposer

En plus d'utiliser des propriétés calculées pour trier dynamiquement les données, nous pouvons également utiliser v-for pour implémenter le tri par glisser-déposer des données. Dans Vue, vous pouvez utiliser le plug-in Vuedraggable pour implémenter la fonction de tri par glisser-déposer de v-for. Le plugin fonctionne avec n'importe quel type de données, y compris les tableaux, les objets, etc.

Par exemple, nous avons une liste et devons mettre en œuvre un tri par glisser-déposer sur la page Web. Ensuite, nous pouvons d'abord installer le plug-in Vuedraggable, utiliser la commande npm :

npm install vuedraggable --save
Copier après la connexion

Introduire le plug-in Vuedraggable dans l'instance Vue et lier les données qui doivent être triées à son attribut de liaison v-bind. Le plugin Vuedraggable convertit automatiquement ces données en éléments glisser-déposer. Le code est le suivant :

<template>
  <vuedraggable v-model="items">
    <div v-for="item in items" :key="item.id">{{ item.name }}</div>
  </vuedraggable>
</template>

<script>
import Vuedraggable from 'vuedraggable';

export default {
  components: {
    Vuedraggable,
  },
  data() {
    return {
      items: [
        { id: 1, name: 'Apple' },
        { id: 2, name: 'Banana' },
        { id: 3, name: 'Orange' },
        { id: 4, name: 'Peach' },
        { id: 5, name: 'Grape' },
      ],
    };
  },
};
</script>
Copier après la connexion

De cette façon, nous pouvons facilement implémenter la fonction de tri par glisser-déposer des données.

Résumé

Dans Vue, l'utilisation de v-for peut facilement implémenter des fonctions telles que le tri dynamique et le tri par glisser-déposer. Parmi eux, vous pouvez effectuer un tri simple ou avancé des données via des propriétés calculées, ou vous pouvez utiliser le plug-in Vuedraggable pour obtenir l'effet glisser-déposer des données. Les développeurs doivent choisir une méthode qui leur convient en fonction des besoins et des scénarios réels.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Comment utiliser Vue Traversal Comment utiliser Vue Traversal Apr 07, 2025 pm 11:48 PM

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.

Comment sauter à la div de Vue Comment sauter à la div de Vue Apr 08, 2025 am 09:18 AM

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

See all articles