Comment implémenter un menu de liaison à plusieurs niveaux dans Vue ?
Vue.js est un framework frontal populaire et de nombreux sites Web utilisent Vue.js pour développer des interfaces utilisateur interactives. Un composant courant de l'interface utilisateur est un menu en cascade à plusieurs niveaux (également appelé sélecteur en cascade), qui permet aux utilisateurs de sélectionner une option pour filtrer la liste d'une autre option, permettant ainsi des capacités de recherche ou de navigation plus granulaires. Dans cet article, nous présenterons comment utiliser Vue.js pour implémenter un menu de liaison à plusieurs niveaux.
- Préparation
Avant de commencer, nous devons nous assurer que Vue.js est installé. Il peut être installé à l’aide de npm ou du CDN officiel de Vue.js. Supposons que nous ayons déjà une application Vue.js et que nous devions maintenant ajouter un composant de menu de liaison à plusieurs niveaux.
- Créer un composant de menu de liaison à plusieurs niveaux
Nous allons créer un composant de fichier unique CascadingMenu.vue pour implémenter un simple menu de liaison à plusieurs niveaux. Dans le modèle du composant, nous utiliserons la directive v-for de Vue.js pour afficher la liste de chaque option, et v-model pour lier la valeur de l'option à la valeur sélectionnée par l'utilisateur. Lorsque l'utilisateur sélectionne une option, nous devons mettre à jour la liste d'options du sous-menu et l'afficher.
<template> <div class="cascading-menu"> <select v-model="selectedOption"> <option value="">请选择</option> <option v-for="option in options" :value="option">{{ option.label }}</option> </select> <cascading-menu v-if="hasChildren" :options="selectedOption.children" /> </div> </template> <script> export default { name: 'CascadingMenu', props: { options: { type: Array, default: () => [], required: true }, selectedValue: { default: null, required: false } }, data() { return { selectedOption: this.selectedValue, hasChildren: false }; }, watch: { selectedOption() { this.hasChildren = this.selectedOption.children.length > 0; } } }; </script>
Nous avons maintenant créé un simple composant de menu de liaison à plusieurs niveaux qui peut afficher chaque option et lier la valeur sélectionnée par l'utilisateur à selectedOption.
- Ajouter des données
Avant de mettre en œuvre le menu de liaison à plusieurs niveaux, nous devons préparer certaines données pour simuler les options que l'utilisateur peut choisir. Nous pouvons utiliser un simple tableau d'objets pour représenter chaque option et leur sous-menu, comme indiqué ci-dessous.
data() { return { options: [ { label: '选项1', children: [ { label: '选项1-1', children: [ { label: '选项1-1-1', children: [] }, { label: '选项1-1-2', children: [] }, { label: '选项1-1-3', children: [] } ] }, { label: '选项1-2', children: [{ label: '选项1-2-1', children: [] }] } ] }, { label: '选项2', children: [ { label: '选项2-1', children: [ { label: '选项2-1-1', children: [] }, { label: '选项2-1-2', children: [] }, { label: '选项2-1-3', children: [] } ] }, { label: '选项2-2', children: [{ label: '选项2-2-1', children: [] }] } ] } ] }; }
Parmi eux, chaque option possède un attribut label et un attribut children. L'attribut children représente l'option du sous-menu (s'il existe).
- Implémentation du menu de liaison multi-niveaux
Nous avons créé un composant de menu de liaison multi-niveaux et préparé les données, nous devons maintenant les combiner et utiliser des composants récursifs pour implémenter le menu de liaison multi-niveaux. Nous pouvons inclure le composant de menu en cascade dans le fichier App.vue et lui transmettre les données d'options en tant qu'accessoires. À l'intérieur du composant menu en cascade, nous afficherons tous les sous-menus en s'appelant récursivement pour obtenir un menu de liaison à plusieurs niveaux.
<template> <div class="app"> <cascading-menu :options="options" /> </div> </template> <script> import CascadingMenu from './components/CascadingMenu'; export default { name: 'App', components: { CascadingMenu }, data() { return { options: [ { label: '选项1', children: [ { label: '选项1-1', children: [ { label: '选项1-1-1', children: [] }, { label: '选项1-1-2', children: [] }, { label: '选项1-1-3', children: [] } ] }, { label: '选项1-2', children: [{ label: '选项1-2-1', children: [] }] } ] }, { label: '选项2', children: [ { label: '选项2-1', children: [ { label: '选项2-1-1', children: [] }, { label: '选项2-1-2', children: [] }, { label: '选项2-1-3', children: [] } ] }, { label: '选项2-2', children: [{ label: '选项2-2-1', children: [] }] } ] } ] }; } }; </script>
Maintenant, nous avons implémenté un menu de liaison simple à plusieurs niveaux, l'utilisateur peut cliquer sur l'une des options pour afficher son sous-menu. Pour chaque sous-menu, nous pouvons afficher les options de tous les sous-menus en appelant récursivement le composant cascading-menu.
- Résumé
Dans cet article, nous avons appris à utiliser Vue.js pour implémenter un menu de liaison à plusieurs niveaux. Nous avons créé un simple composant de menu en cascade et utilisé des appels récursifs vers lui-même pour implémenter des menus en cascade à plusieurs niveaux. En préparant et en travaillant avec les données, nous montrons comment restituer chaque option et exploiter le modèle v pour lier la valeur de l'option à la valeur sélectionnée par l'utilisateur. Nous espérons que cet article vous aidera à mieux comprendre l'utilisation de Vue.js et à créer des composants d'interface utilisateur plus puissants.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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.

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.

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.

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.

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.

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.

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.

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.
