J'utilise VUE.JS modal paquet et je ne le fais pas SAVOIR Comment puis-je obtenir des données de réponse de ma fenêtre modale. J'ai créé un composant pour ma fenêtre modale. L'utilisation des composants ressemble à ceci: et je souhaite obtenir des données de l'événement fermé. J'ouvre mon modal avec: p> et fermez-le avec: p> mon modal est défini dans le composant mymodal (i laissé de côté le code HTML et du script): p> Le crochet @ closgose fonctionne à l'intérieur du modal mais pas à l'extérieur où j'en ai besoin. Je n'ai aucune expérience dans Vue.Js, et c'est ma première tentative de Windows modale, alors je ne sais pas vraiment ce que je me manque ici, et la documentation est vraiment mauvaise. P> P>
5 Réponses :
Consultez la section Événements: Vous pouvez accrocher un événement fermé. P>
Pourriez-vous configurer une boîte de code ou quelque chose de similaire pour voir ce qui se passe?
Avez-vous essayé d'utiliser un gestionnaire d'événements "avant-ferme" au lieu de "fermer"? P>
Comme j'ai compris ce composant, sur l'événement "Fermer", il n'émet aucune donnée de composante et, à cause de cela, vous ne pouvez pas l'obtenir dans le composant parent. P>
Je viens d'essayer ce paquet localement. Le crochet code> @ @ CLOSED fonctionne comme conçu. Le balisage que j'ai utilisé est inférieur à Vous avez certainement besoin d'un attribut code> nom code> sur le composant modal. Il n'apparaît pas que vous l'avez. p> p>
J'ai nommé mon modal sinon il ne serait pas apparu lorsque vous appelez $ modal.show (). J'ai mis à jour la question. Le crochet @Close fonctionne, mais cela ne fonctionne pas à l'extérieur (sur la vue que j'appelle mon modal).
Si vous voulez que cela fonctionne en dehors de votre composant modal, vous pouvez chaîner un événement.
methods: { closedEvent() { this.$emit('chainClosedEvent', this.componentDataGoesHere) } }
Si quelqu'un recherche une solution, j'ai codé comme ci-dessous:
dans la vue qui appelle le modal: p>
Définissez les composants modaux et l'événement qui sera soulevé: P>
<template> <modal name="grupo-alteracao" :width=largura :height="268" :clickToClose="false" @before-open="beforeOpen" @before-close="beforeClose" style="z-index: 49"> ... </modal> </template> ... ... methods: { beforeOpen (event) { this.grupo = event.params; }, beforeClose (event) { this.$emit("fechado"); },