# 过渡效果

您可以通过配置 RouterTab 组件的 tab-transitionpage-transition 属性,分别替换默认的页签页面过渡效果

注意

  • 如果是组件作用域内的 CSS(配置了 scoped),需要在选择器前添加 >>>/deep/::v-deep 才能生效

  • 页签项 .router-tab-item 默认设置了 transitiontransform-origin 的样式,您可能需要覆盖它已避免影响到自定义的过渡效果

示例:

<template>
  <router-tab page-transition="page-fade" tab-transition="tab-scale" />
</template>

<style lang="scss" scoped>
::v-deep {
  // 页面 fade 过渡
  .page-fade {
    &-enter-active,
    &-leave-active {
      transition: opacity 0.5s;
    }

    &-enter,
    &-leave-to {
      opacity: 0;
    }
  }

  // 页签 scale 过渡
  .tab-scale {
    &-enter-active,
    &-leave-active {
      transition: opacity 0.5s, transform 0.5s;
    }

    &-enter,
    &-leave-to {
      transform: scale(1.5);
      opacity: 0;
    }
  }
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 详细配置

您还可以使用对象的方式设置 tab-transitionpage-transition 的值,以实现详细的过渡效果配置

配置参考: Vue - transition (opens new window)

<router-tab
  :tab-transition="{
    name: 'my-transition',
    'enter-class': 'my-transition-enter'
  }"
/>
1
2
3
4
5
6
上次更新: 2020/8/7 下午3:39:57