<TransitionGroup> 列表进出场过渡

最后更新:2026-10-22

<TransitionGroup> 列表进出场过渡

为多个元素提供进出场过渡,并通过 FLIP 技术实现位置的平滑移动。

分组内置组件与元素
类型组件/元素
作用域模板
Vue 版本3.0+
SSR 支持支持

📝 语法

<TransitionGroup name="list" tag="ul">
  <li v-for="item in items" :key="item.id">{{ item.text }}</li>
</TransitionGroup>

.list-move { transition: transform .4s }

⚙️ 参数

propstag(渲染成什么标签,默认不渲染容器)/ name / move-class / appear

▶ 示例

修改下面的代码,在预览区实时查看效果:

输出:

新增列表项逐个出现,已有项平滑让位。

💡 要点

⚠️ 注意 每一项必须有唯一 key:没有 key 无法计算位置移动。
ℹ️ 说明 移动过渡用插入的 .move 类(配合 name 前缀);需要 transition 或 animation 才能生效。
💡 提示 tag="ul" 渲染真实列表容器;不指定 tag 时不渲染额外元素。
更多案例即将上线。

📚 相关教程

❓ 常见问题

Q 和 Transition 的区别?
A Transition 管单个元素进出;TransitionGroup 管列表增删与移动。
Q 没有移动动画?
A 检查是否写了 .move 过渡规则,以及 key 是否唯一。
Q 能同时做出场和移动吗?
A 可以,入场与移动会并行计算,必要时用 move-class 调整。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏