Vue 3 迁移策略笔记—— 第24节:Transition Group 不再需要设置根元素

前言

本笔记主要基于官方文档《迁移策略——Transition Group 根元素》汇总而来。如有理解出入,请以官方文档为主。建议您以官方文档为主,本文为辅。这样您可以“以自己为主”审视的阅读,从而不被我的观点带偏。

概述

<transition-group> 不再默认渲染根元素,但仍可以使用 tag prop创建一个根元素。

Vue 2.x 的<transition-group>

Vue 2.x <transition-group> 跟自定义组件一样,需要一个根元素。我们可以通过tag prop 来进行手动设定。如果我们不进行手动的设定,Vue 会默认添加<span>作为根元素。

<template>
  <transition-group tag="ul">
    <li v-for="item in items" :key="item">
      {{ item }}
    </li>
  </transition-group>
</template>
<script>
export default {
  data() {
    return {
      items: [1, 2, 3],
    };
  },
};
</script>

需要注意:

根元素的添加只能通过 tag prop 添加。下面做法是无效的:

<transition-group>
  <ul>
    <li v-for="item in items" :key="item">
      {{ item }}
    </li>
  </ul>
</transition-group>

最终,Vue 还是会用一个<span>元素包裹<ul>

Vue 3.x <transition-group> 不再需要根元素

到了 Vue 3.x,Vue 不再需要添加根元素。但是我们仍可以通过tag prop 来进行手动设定根元素。只是如果我们不主动设置,Vue 不再会自动添加<span>根元素了。

  • 如果您已经tag在Vue 2代码中定义了prop,就像上面的示例一样,一切将像以前一样工作
  • 如果您没有定义一个样式,而您的样式或其他行为依赖于<span>根元素的存在才能正常工作,则只需添加 tag="span"<transition-group>
<transition-group tag="span">
  <!-- -->
</transition-group>

本系列目录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值