Maison interface Web Voir.js Bases du développement VUE3 : utilisez le plug-in Vue.js pour encapsuler le composant du panneau pliable

Bases du développement VUE3 : utilisez le plug-in Vue.js pour encapsuler le composant du panneau pliable

Jun 15, 2023 pm 08:57 PM
vue vuejs插件 折叠面板

Bases du développement VUE3 : utilisez le plug-in Vue.js pour encapsuler le composant du panneau pliable

Le panneau pliable est un composant d'interface utilisateur courant qui peut être utilisé pour développer et réduire le contenu. Dans Vue.js, nous pouvons utiliser des directives ou des composants pour implémenter des panneaux accordéon. Cependant, développer des composants en double est une tâche fastidieuse, donc utiliser un plug-in Vue.js pour encapsuler le composant du panneau accordéon est une meilleure solution.

Cet article expliquera comment utiliser le plug-in Vue.js pour encapsuler le composant du panneau pliable, y compris l'installation, l'utilisation et la configuration du plug-in. Nous utilisons Vue3 comme environnement de développement et Vite comme outil de construction.

Étape 1 : Créer un projet et installer Vue.js

Tout d'abord, nous devons créer un nouveau projet Vue.js, entrez la commande suivante :

npm init vite-app vue3-fold-panel
Copier après la connexion

Cela créera un nouveau projet Vite et le nommera « vue3 -fold- panneau".

Ensuite, nous devons installer Vue.js. Il peut être installé à l'aide de la commande suivante :

npm install vue@next
Copier après la connexion

Une fois l'installation terminée, nous pouvons créer une nouvelle instance de Vue dans le projet :

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')
Copier après la connexion

Étape 2 : Écrire le composant du panneau accordéon

Avant de commencer à empaqueter le composant du panneau accordéon , nous devons d’abord le définir. Créez un nouveau dossier dans le répertoire src/components et nommez-le « FoldPanel ». Dans ce dossier, créez un fichier appelé "FoldPanel.vue" et écrivez le code suivant :

<template>
  <div class="fold-panel">
    <div class="fold-panel-header" @click="togglePanel"> {{ title }} </div>
    <div class="fold-panel-body" v-show="showPanel">
      <slot></slot>
    </div>
  </div>
</template>

<script>
export default {
  name: 'FoldPanel',
  data() {
    return {
      showPanel: false,
    }
  },
  props: {
    title: {
      type: String,
      required: true,
    },
  },
  methods: {
    togglePanel() {
      this.showPanel = !this.showPanel
    },
  },
}
</script>

<style scoped>
.fold-panel {
  border: 1px solid #ddd;
  margin-bottom: 10px;
}

.fold-panel-header {
  padding: 10px;
  cursor: pointer;
}

.fold-panel-body {
  padding: 10px;
}
</style>
Copier après la connexion

Dans ce composant, nous utilisons la nouvelle fonctionnalité "" dans Vue3, qui nous permet d'insérer du contenu dans le composant. Le composant accordéon se compose de deux parties : le titre et le contenu. Lorsque l'utilisateur clique sur le titre, la section de contenu peut être réduite ou développée.

Nous définissons une méthode appelée "togglePanel" pour basculer entre l'état développé ou réduit de la partie contenu. Nous définissons également une variable "showPanel" qui enregistre si la partie contenu doit être affichée.

Étape 3 : Créer un plugin et enregistrer un composant

Ensuite, nous créerons un plugin qui enregistrera notre composant accordéon globalement.

Dans le répertoire src/plugins, créez un fichier nommé "fold-panel.js" et écrivez le code suivant :

import FoldPanel from '../components/FoldPanel/FoldPanel.vue'

export default {
  install(app) {
    app.component(FoldPanel.name, FoldPanel)
  },
  FoldPanel,
}
Copier après la connexion

Ce plugin contient uniquement une méthode pour enregistrer le panneau pliant globalement. Nous utilisons la fonction "app.component" pour enregistrer le composant dans l'instance Vue. Le plugin renvoie également un objet nommé "FoldPanel", qui nous permet d'importer le composant en utilisant "import { FoldPanel } from 'fold-panel'" dans le composant.

Étape 4 : Installez le plugin dans Vue.js

Maintenant, nous pouvons installer le plugin dans notre application Vue.js. Ouvrez le fichier src/main.js et utilisez le code suivant pour installer le plugin :

import { createApp } from 'vue'
import App from './App.vue'
import FoldPanelPlugin from './plugins/fold-panel'

const app = createApp(App)

app.use(FoldPanelPlugin)

app.mount('#app')
Copier après la connexion

Notez que nous avons utilisé la nouvelle API « app.use » de Vue.js 3 pour installer le plugin.

Étape 5 : Utilisation du composant panneau accordéon

Maintenant, nous pouvons utiliser notre composant panneau accordéon dans n'importe quel composant Vue. Insérez simplement le code suivant dans votre modèle :

<template>
  <div>
    <fold-panel title="折叠面板1">
      这是折叠面板1的内容。
    </fold-panel>

    <fold-panel title="折叠面板2">
      这是折叠面板2的内容。
    </fold-panel>
  </div>
</template>

<script>
import { FoldPanel } from 'fold-panel'

export default {
  components: {
    FoldPanel,
  },
}
</script>
Copier après la connexion

Cela affichera deux panneaux en accordéon sur la page, chacun avec un titre et une section de contenu. Lorsque l'utilisateur clique sur le titre du panneau, la section de contenu se développe ou se réduit.

Étape 6 : Configurer le composant

Notre composant de panneau accordéon peut également être personnalisé via les propriétés Voici quelques-unes des propriétés principales :

  1. titre : Le titre du panneau accordéon.
  2. isCollapsed : Spécifie si le panneau pliable est initialement réduit. La valeur par défaut est false (c'est-à-dire l'état développé).
<template>
  <div>
    <fold-panel title="折叠面板1" :isCollapsed="true">
      这是折叠面板1的内容。
    </fold-panel>

    <fold-panel title="折叠面板2">
      这是折叠面板2的内容。
    </fold-panel>
  </div>
</template>
Copier après la connexion

Dans cet exemple, « Réduire le panneau 1 » sera initialement réduit. Nous pouvons définir cette propriété via le modèle lors de l'initialisation.

  1. showIcon : Spécifiez s'il faut afficher l'icône de développement/réduction. La valeur par défaut est vrai.
<template>
  <div>
    <fold-panel title="折叠面板1" :showIcon="false">
      这是折叠面板1的内容。
    </fold-panel>

    <fold-panel title="折叠面板2">
      这是折叠面板2的内容。
    </fold-panel>
  </div>
</template>
Copier après la connexion

Dans cet exemple, « Réduire le panneau 1 » n'affichera pas l'icône développer/réduire.

  1. iconPosition : Spécifiez la position de l'icône de développement/réduction. La valeur par défaut est « gauche », qui correspond au côté gauche.
<template>
  <div>
    <fold-panel title="折叠面板1" iconPosition="right">
      这是折叠面板1的内容。
    </fold-panel>

    <fold-panel title="折叠面板2">
      这是折叠面板2的内容。
    </fold-panel>
  </div>
</template>
Copier après la connexion

Dans cet exemple, l'icône développer/réduire pour « Réduire le panneau 1 » sera affichée à droite.

À ce stade, notre composant de panneau pliant a été emballé. L'utilisation des plugins Vue.js pour encapsuler des composants réduit non seulement le code en double, mais rend également le code plus modulaire et extensible.

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 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.

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.

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 une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

See all articles