Maison interface Web Voir.js Comment implémenter des couches contextuelles et des boîtes modales dans Vue ?

Comment implémenter des couches contextuelles et des boîtes modales dans Vue ?

Jun 25, 2023 am 09:25 AM
vue 弹出层 模态框。

Vue est un framework frontal basé sur JavaScript qui fournit de nombreux outils et composants pratiques pour créer des interfaces d'application monopage (SPA) et des interactions utilisateur. Parmi eux, la couche contextuelle (modale) et la boîte modale (popover) sont des composants d'interface utilisateur courants, qui peuvent également être facilement implémentés dans Vue. Cet article explique comment implémenter des couches contextuelles et des boîtes modales dans Vue.

1. Couche contextuelle

La couche contextuelle est généralement utilisée pour inviter des messages, afficher des menus ou des panneaux de commande, et doit généralement couvrir la totalité de la page ou une partie de la zone. L'implémentation de couches contextuelles dans Vue nécessite l'utilisation de composants et d'emplacements dynamiques.

  1. Créer un composant de couche contextuelle

Tout d'abord, nous devons créer un composant de couche contextuelle. Ici, nous créons un composant de couche contextuelle nommé Modal et incluons un emplacement pour charger dynamiquement le contenu qui doit être affiché.

<template>
  <div class="modal-container" v-show="show">
    <div class="modal-content">
      <slot></slot>
    </div>
  </div>
</template>

<script>
export default {
  name: 'Modal',
  props: {
    show: {
      type: Boolean,
      default: false
    }
  }
}
</script>

<style scoped>
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content {
  background-color: #fff;
  padding: 20px;
}
</style>
Copier après la connexion

Dans le code ci-dessus, nous définissons d'abord un composant nommé Modal et transmettons un accessoire nommé show, qui est utilisé pour contrôler si la couche contextuelle est affichée. Dans le modèle de composant, nous utilisons des emplacements dynamiques pour afficher le contenu qui doit être affiché dans la couche contextuelle. Nous avons ensuite défini certains styles pour centrer le calque contextuel et ajouté une couleur d'arrière-plan semi-transparente.

  1. Utilisez le composant Modal dans le composant qui doit afficher la couche contextuelle

Ensuite, nous devons utiliser le composant Modal dans le composant qui doit afficher la couche contextuelle. Ici, nous créons un composant racine appelé App et ajoutons un bouton dans le composant pour déclencher l'affichage de la couche contextuelle.

<template>
  <div class="app">
    <button @click="showModal = !showModal">显示弹出层</button>
    <modal v-bind:show="showModal">
      <p>这是弹出层中的内容</p>
    </modal>
  </div>
</template>

<script>
import Modal from './components/Modal.vue'

export default {
  name: 'App',
  components: {
    Modal
  },
  data() {
    return {
      showModal: false
    }
  }
}
</script>

<style>
.app {
  padding: 20px;
}
</style>
Copier après la connexion

Dans le code ci-dessus, nous avons d'abord importé le composant Modal précédemment défini et ajouté un bouton au modèle de composant pour déclencher l'affichage du calque contextuel. Ensuite, nous utilisons la directive v-bind pour lier l'attribut showModal à l'attribut show du composant Modal. Enfin, nous plaçons le contenu qui doit être affiché dans la couche contextuelle dans le slot du composant Modal.

2. Boîte modale

Les boîtes modales sont généralement utilisées pour inviter l'utilisateur à confirmer ou à faire une sélection, tout en empêchant l'utilisateur d'effectuer d'autres opérations avant d'effectuer l'opération. Semblables aux couches contextuelles, des composants dynamiques et des emplacements sont également requis pour implémenter des boîtes modales dans Vue.

  1. Créer un composant modal

Tout d'abord, nous devons créer un composant modal. Ici, nous créons un composant modal nommé Confirmation et contenons deux emplacements, un pour afficher les informations d'invite et l'autre pour afficher les boutons de confirmation et d'annulation.

<template>
  <div class="modal-container" v-show="show">
    <div class="modal-content">
      <div class="modal-body">
        <slot name="body"></slot>
      </div>
      <div class="modal-footer">
        <slot name="footer">
          <button @click="cancel">取消</button>
          <button @click="confirm">确认</button>
        </slot>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'Confirmation',
  props: {
    show: {
      type: Boolean,
      default: false
    },
    onCancel: Function,
    onConfirm: Function
  },
  methods: {
    cancel() {
      this.onCancel && this.onCancel()
    },
    confirm() {
      this.onConfirm && this.onConfirm()
    }
  }
}
</script>

<style scoped>
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content {
  background-color: #fff;
  padding: 20px;
}

.modal-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.modal-footer button {
  margin-left: 10px;
}
</style>
Copier après la connexion

Dans le code ci-dessus, nous avons créé un composant de boîte modale nommé Confirmation et transmis les propriétés nommées show, onCancel et onConfirm, qui sont utilisées pour contrôler si la boîte modale est affichée, annuler l'opération et confirmer l'opération respectivement. Dans le modèle de composant, nous utilisons deux emplacements, un pour afficher les informations d'invite et un pour afficher les boutons de confirmation et d'annulation. Dans la méthode, nous définissons les méthodes d'annulation et de confirmation pour gérer les opérations d'annulation et de confirmation, et déclenchons la fonction de rappel transmise par le composant parent dans ces méthodes.

  1. Utilisez le composant Confirmation dans le composant qui doit afficher la boîte modale

Ensuite, nous devons utiliser le composant Confirmation dans le composant qui doit afficher la boîte modale. Ici, nous créons un composant racine nommé App et ajoutons un bouton dans le composant pour déclencher le composant Confirmation pour afficher la boîte modale.

<template>
  <div class="app">
    <button @click="showModal = !showModal">显示模态框</button>
    <confirmation
      v-bind:show="showModal"
      v-bind:onCancel="cancel"
      v-bind:onConfirm="confirm"
    >
      <template v-slot:body>
        <p>确定要删除吗?</p>
      </template>
    </confirmation>
  </div>
</template>

<script>
import Confirmation from './components/Confirmation.vue'

export default {
  name: 'App',
  components: {
    Confirmation
  },
  data() {
    return {
      showModal: false
    }
  },
  methods: {
    cancel() {
      this.showModal = false
    },
    confirm() {
      alert('删除成功!')
      this.showModal = false
    }
  }
}
</script>

<style>
.app {
  padding: 20px;
}
</style>
Copier après la connexion

Dans le code ci-dessus, nous utilisons le composant Confirmation comme composant de boîte modale et lions l'attribut showModal, la méthode d'annulation et la méthode de confirmation aux propriétés du composant Confirmation. Dans l'emplacement du composant Confirmation, nous affichons les informations d'invite à afficher. Dans le modèle Vue, nous utilisons la directive v-slot pour définir le slot utilisé dans le composant Confirmation, ainsi que le nom du slot (corps). Dans le composant parent, nous définissons la méthode d'annulation et la méthode de confirmation pour gérer les opérations d'annulation et de confirmation, et indiquons à l'utilisateur que la suppression a réussi lors de l'opération de confirmation.

Résumé

L'implémentation de couches contextuelles et de boîtes modales dans Vue nécessite l'utilisation de composants et d'emplacements dynamiques. En utilisant des composants comme couches contextuelles ou boîtes modales, nous pouvons facilement implémenter ces composants d'interface utilisateur courants. Dans le même temps, en transmettant la fonction de rappel au composant enfant, nous pouvons facilement gérer les opérations utilisateur dans le composant enfant et renvoyer les résultats au composant parent.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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

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.

Vue réalise l'effet de défilement de chapiteau / texte Vue réalise l'effet de défilement de chapiteau / texte Apr 07, 2025 pm 10:51 PM

Implémentez les effets de défilement marquee / texte dans VUE, en utilisant des animations CSS ou des bibliothèques tierces. Cet article présente comment utiliser l'animation CSS: créer du texte de défilement et envelopper du texte avec & lt; div & gt;. Définissez les animations CSS et défini: caché, largeur et animation. Définissez les images clés, Set Transforment: Translatex () au début et à la fin de l'animation. Ajustez les propriétés d'animation telles que la durée, la vitesse de défilement et la direction.

Que signifie la charge paresseuse? Que signifie la charge paresseuse? Apr 07, 2025 pm 11:54 PM

Dans vue.js, le chargement paresseux permet de charger dynamiquement les composants ou les ressources, en réduisant le temps de chargement des pages initiales et en améliorant les performances. La méthode de mise en œuvre spécifique comprend l'utilisation de & lt; keep-alive & gt; et & lt; composant est & gt; composants. Il convient de noter que le chargement paresseux peut provoquer des problèmes de FOUC (écran d'éclat) et ne doit être utilisé que pour les composants qui nécessitent un chargement paresseux pour éviter les frais généraux de performances inutiles.

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 interroger la version de Vue Comment interroger la version de Vue Apr 07, 2025 pm 11:24 PM

Vous pouvez interroger la version Vue en utilisant Vue Devtools pour afficher l'onglet Vue dans la console du navigateur. Utilisez NPM pour exécuter la commande "NPM List -g Vue". Recherchez l'élément VUE dans l'objet "dépendances" du fichier package.json. Pour les projets Vue CLI, exécutez la commande "Vue --version". Vérifiez les informations de la version dans le & lt; script & gt; Tag dans le fichier html qui fait référence au fichier VUE.

See all articles