【问题标题】:custom transition classes don't work on Vue.js自定义转换类在 Vue.js 上不起作用
【发布时间】:2021-04-29 18:42:58
【问题描述】:

我正在尝试使用带有 Tailwinds 的 Vue.js 在我的代码中使用一些转换。我的环境包括 Laravel Jetstream 和 vue 自带的 Inertia。

我注意到使用此表单一切正常:

<transition name="some-name">
  <div v-if="something"></div>
 </transition>
 
 

我的 CSS 中的这些类:

.some-name-enter {
  transform: translateX(-100%);
}
.some-name-leave-to {
  transform: translateX(-100%);
}
.some-name-leave-active,
.some-name-enter-active {
  transition: all 0.5s ease-in-out;
}

但是当我尝试使用这个语法时:

<transition           
  enter-active-class="transition ease-out duration-100 transform"
  enter-from-class="opacity-0 scale-95"
  enter-to-class="opacity-100 scale-100"
  leave-active-class="transition ease-in duration-75 transform"
  leave-from-class="opacity-100 scale-100"
  leave-to-class="opacity-0 scale-95"
>
  <div v-if="something"></div>
</transition>

它不起作用..我只是想使用顺风类进行过渡,它们非常易于使用,无需编写大量的 css 行。

我不知道它是否重要,但我使用的是 vue 2.6.12。提前感谢您的帮助。

【问题讨论】:

    标签: laravel vue.js css-transitions tailwind-css jetstream


    【解决方案1】:

    对于 vue-2 用户,您可以按照@ValheruBorn 的回答中提到的内容进行操作。
    对于 vue-3 用户,这应该可以。另外,检查钩子here

    这对我有用:

    <transition
      enter-active-class="duration-300 ease-out"
      enter-from-class="transform opacity-0 scale-75"
      enter-to-class="opacity-100 scale-100"
      leave-active-class="duration-200 ease-in"
      leave-from-class="opacity-100 scale-100"
      leave-to-class="transform opacity-0 scale-75"
    >
      <div v-if="something"></div>
    </transition>
    

    即使这对我有用:

    <transition name="fade">
      <div v-if="something"></div>
    </transition>
    

    添加使用这个 css

    .fade-enter-active { @apply duration-300 ease-out }
    .fade-enter-from { @apply transform opacity-0 scale-75 }
    .fade-enter-to { @apply opacity-100 scale-100 }
    .fade-leave-active { @apply transform duration-200 ease-in }
    .fade-leave-from { @apply opacity-100 scale-100 }
    .fade-leave-to { @apply opacity-0 scale-75 }
    

    【讨论】:

      【解决方案2】:

      enterleave 类的开头都不需要 from。也就是说,它们只是 enter-classleave-class 而不是 enter-from-classleave-from-class 根据this

      【讨论】:

        猜你喜欢
        • 2020-04-03
        • 2012-09-10
        • 2016-11-24
        • 2023-03-21
        • 2022-08-03
        • 1970-01-01
        • 1970-01-01
        • 2020-01-19
        • 2022-09-26
        相关资源
        最近更新 更多