0
votes

VUE.JS Modal: Comment puis-je obtenir une réponse de modal?

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: xxx

et je souhaite obtenir des données de l'événement fermé. J'ouvre mon modal avec: xxx

et fermez-le avec: xxx

mon modal est défini dans le composant mymodal (i laissé de côté le code HTML et du script): xxx

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.


0 commentaires

5 Réponses :


0
votes

Consultez la section Événements: Vous pouvez accrocher un événement fermé.

https://www.npmjs.com/package/vue-js -Modal # événements


1 commentaires

Pourriez-vous configurer une boîte de code ou quelque chose de similaire pour voir ce qui se passe?



0
votes

Avez-vous essayé d'utiliser un gestionnaire d'événements "avant-ferme" au lieu de "fermer"?

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.


0 commentaires

0
votes

Je viens d'essayer ce paquet localement. Le crochet @ @ CLOSED fonctionne comme conçu. Le balisage que j'ai utilisé est inférieur à xxx

Vous avez certainement besoin d'un attribut nom sur le composant modal. Il n'apparaît pas que vous l'avez.


1 commentaires

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



1
votes

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)
  } 
}


0 commentaires

0
votes

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");
    },


0 commentaires