77
Vue 3 學習之旅
進階特性
Day 77: 列表的移動過渡 (FLIP)
·6 分鐘閱讀·進階特性
摘要
<TransitionGroup>
不僅能處理進入和離開,還能透過一種名為 FLIP 的高效能動畫技術,為列表中因排序或篩選而改變位置的項目,提供平滑的「移動」動畫。
定義與說明
當列表項目的位置發生變化時,Vue 會自動應用一個名為 v-move
的 CSS class(如果設定了 name,則為 [name]-move)。我們只需要為這個 class 添加一個 transition 屬性,Vue 的 FLIP 機制就會自動計算並應用 transform,實現流暢的移動效果。
實作範例
FLIP 移動動畫示例
/* 為移動的項目添加過渡效果 */
.list-move {
transition: transform 0.8s ease;
}
/* 確保離開的項目能空出佈局空間,讓移動動畫更流暢 */
.list-leave-active {
position: absolute;
}
結論
FLIP 技術與 v-move
class 的結合,是 <TransitionGroup>
最令人驚豔的特性之一。它讓我們能以極低的成本,實現複雜且高效能的列表排序動畫。
FLIP 移動動畫 v-move