Vue: La classe de transition `Leave-to` n'est pas supprimée si l'élément caché change trop rapidement avec v-show

Créé le 6 mars 2018  ·  5Commentaires  ·  Source: vuejs/vue

Version

2.5.13

Lien de reproduction

https://jsfiddle.net/freakypie/nn2vwt7b/22/

Étapes à suivre pour reproduire

changer une valeur dans une vue très rapidement et la transition ne supprimera pas la classe de congé

Qu'attend-on?

l'étiquette doit être affichée

Que se passe-t-il réellement?

l'étiquette n'est pas affichée


Sur ma propre application, j'ai redirigé vers une page qui était censée ne pas avoir d'en-tête d'application, mais elle a ensuite redirigé vers une autre page qui l'a fait, mais l'en-tête manquait de toute façon

bug

Tous les 5 commentaires

Pour contourner le problème pour le moment, vous pouvez utiliser un v-if au lieu de v-show

pour le moment, je viens de le débrayer et d'utiliser une propriété locale

    async "$store.state.invisible"() {
      clearTimeout(this.__updateInvisible);
      this.__updateInvisible = setTimeout(() => {
        this.invisible = this.$store.state.invisible;
      }, 50);
    },

cela fonctionne pour moi, je voulais juste vous informer du bug

Peut-être un dup de https://github.com/vuejs/vue/issues/5800 ? 🤔

Oh, oui, je n'ai même pas vérifié le code pour voir que c'était un v-show parce que c'est un groupe de transition donc je m'attendais à ce qu'il ne fasse qu'un v-for . Cela semble lié mais peut être causé par différentes choses, donc je pense que nous pouvons le garder ouvert pour le moment

Ce problème a été corrigé par # 7391 (pas encore publié)

Cette page vous a été utile?
0 / 5 - 0 notes