【问题标题】:vue table transition occurs from bottom not from topvue 表转换是从底部而不是从顶部发生的
【发布时间】:2021-11-05 04:47:17
【问题描述】:

我每 5 秒有一个表格和一个来自 websocket 的数据。我使用 unshift() 方法将此数据作为一行添加到表中。现在我应该在 websocket 数据添加到表时添加转换。 这是websocket数据添加到表中的代码:

getSocketTransactions(val) {
      for (let i = 0; i < 1; i++) {
        this.$store.state.transaction.transactionsList.unshift(val[i]);
}

这些是我使用过渡的代码:

<transition-group
          :name="isActive ? 'transactionAnimation' : null"
          tag="tbody"
          class="list-group"
        >
// some code
</transition-group>

问题是数据添加到表的顶部,但从底部发生转换。我该如何解决这个问题?

【问题讨论】:

    标签: vue.js websocket vue-transitions


    【解决方案1】:

    你的transactionAnimation 动画是什么样子的?

    您可以像这样在过渡 css 中定义动画的方向:

    .transactionAnimation-enter-from,
    .transactionAnimation-leave-to {
      opacity: 0;
      transform: translateY(-30px); /* -30px for animation from top, 30px for animation from bottom */
    }
    

    演示:https://stackblitz.com/edit/vue-yp85fn

    【讨论】:

    • .transactionAnimation-enter-active { transition: opacity ease 0.55s, transform ease-in-out 0.3s;变换原点:左上角; } .transactionAnimation-enter { 不透明度:0;变换:translateY(-10%); } .slide-fade-enter { 不透明度:0; }
    • 我已经添加了一个 Demo,所以你可以检查它应该如何表现
    • 我找到了问题并解决了它。这取决于 for 循环中的 :key。 codepen.io/megacromulent/pen/wEzWNL -> 这对我有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2015-03-09
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多