Vue3过渡组,进入活动动画不工作,而离开工作

pjngdqdw  于 2022-11-17  发布在  Vue.js
关注(0)|答案(2)|浏览(187)

我试着在v-for循环中动画化元素的添加和删除。我在这里搜索了一些类似的问题,主要是关于vue 3中类名从vue 2更改的问题。
我确信我的案例与类名无关。我的代码如下。

组件名称:仅版本

<transition-group tag='div' class='VueOnly' name='fade'>
      <div class='graphs' v-for="boro in lotteriesByBorough" :key="boro['value']">

        <div>{{boro[0]}}</div>
        <div class="bargraph" :style="{width: xScale(boro[1]) + 'px'}"></div>

      </div>
     </transition-group>
     <div style='display:none'>{{console}}</div>

</template>
  • css格式
.fade-enter-active{
  animation:fade-in 1s 
}

.fade-leave-active{
  animation:fade-in 1s reverse
}

@keyframes fade-in {
  from{
    opacity:0  ;
    width:0 ;
    background-color:blue ;
  }
  to{
    opacity:1;
    width:100%;
  }
}

我坚信我遵循的是为什么这不起作用的语法?
只有在leave事件触发时才起作用,leave事件运行时添加临时类,enter事件运行时不添加类。
所以我认为一般来说进入过程有问题。
它和加法逻辑有什么关系吗?
我的加法逻辑如下。App.vue

<div class="filters">
        <el-checkbox-group v-model="filters">
          <el-checkbox label="1"></el-checkbox>
          <el-checkbox label="2"></el-checkbox>
          <el-checkbox label="3"></el-checkbox>
          <el-checkbox label="4"></el-checkbox>
        </el-checkbox-group>
      </div>

      <div class="section" :style="{width:`${width}px`,height:`${height}px`}">
        <vue-only 
        :lotteries="filteredLotteries"
        :lottery-stats="lotteryStats"
        :width="width"
        >
        </vue-only>
      </div>
The entire code can be seen in the following link.

https://github.com/jotnajoa/studioquestion/tree/main/d3vue

xqkwcwgp

xqkwcwgp1#

设定<transition-group>appear属性:

<transition-group tag="div" class="VueOnly" name="fade" appear>

demo

mzmfm0qo

mzmfm0qo2#

我偶然发现了同样的问题。animation_name-enter-active类似乎不适用于新项目(不管是否使用appear)。但是animation_name-enter-to类将被正常应用,所以我把我的动画css移到这个类中,它起作用了。可能与其说是一个真实的的解决方案,不如说是一个变通方案。

相关问题