当前位置: 首页 > 知识库问答 >
问题:

javascript - 如何给 el-tabs 添加切换页面的过渡动效?

汪鸿波
2023-08-10

如何给 el-tabs 添加切换页面的过渡动效

当我用下面的代码切换页面时,离开的过渡动效不生效

相关代码:

<template>  <div>    <el-tabs v-model="activeName" @tab-click="handleClick">        <transition-group name="scale">          <el-tab-pane label="工作台" name="dashList" key="dashList"><div v-show="activeName === 'dashList'">11</div></el-tab-pane>          <el-tab-pane label="名单派发" name="townDashBoard" key="townDashBoard"><div v-show="activeName === 'townDashBoard'">22</div></el-tab-pane>          <el-tab-pane label="名单派发2" name="townDashBoard2" key="townDashBoard2"><div v-show="activeName === 'townDashBoard2'">33</div></el-tab-pane>        </transition-group>    </el-tabs>  </div></template><script setup>import {ref} from "vue";const activeName = ref("dashList");const handleClick = (tab) => {  activeName.value = tab.props.name;};</script><style lang="scss">.scale-enter-active,.scale-leave-active {  transition: all 0.5s ease;}.scale-enter-from {  opacity: 0;  transform: scale(1.01);}.scale-leave-to {  opacity: 0;  transform: scale(0.99);}</style>

我该怎么做才可以完美的给 el-tabs 添加切换页面的过渡动效

共有1个答案

甄永年
2023-08-10

用 <transition> 而不是 <transition-group>,用 v-if 而不是 v-show,才会触发动画

<template>  <div>    <el-tabs v-model="activeName" @tab-click="handleClick">      <transition name="scale" mode="out-in">        <el-tab-pane label="工作台" name="dashList" v-if="activeName === 'dashList'">11</el-tab-pane>        <el-tab-pane label="名单派发" name="townDashBoard" v-if="activeName === 'townDashBoard'">22</el-tab-pane>        <el-tab-pane label="名单派发2" name="townDashBoard2" v-if="activeName === 'townDashBoard2'">33</el-tab-pane>      </transition>    </el-tabs>  </div></template><script setup>import {ref} from "vue";const activeName = ref("dashList");const handleClick = (tab) => {  activeName.value = tab.props.name;};</script><style lang="scss">.scale-enter-active,.scale-leave-active {  transition: all 0.5s ease;}.scale-enter-from {  opacity: 0;  transform: scale(1.01);}.scale-leave-to {  opacity: 0;  transform: scale(0.99);}</style>
 类似资料:
  • 本文向大家介绍Vue2.0 给Tab标签页和页面切换过渡添加样式的方法,包括了Vue2.0 给Tab标签页和页面切换过渡添加样式的方法的使用技巧和注意事项,需要的朋友参考一下 使用vue-router构建单页应用时,如何给当前页面的标签页添加样式呢? 1.在app.vue文件中你的nav中添加路由地址 2.依然在app.vue文件中,添加样式 不用在任何位置加class,只要在css中写上这个名称

  • 本文向大家介绍使用vue-router切换页面时实现设置过渡动画,包括了使用vue-router切换页面时实现设置过渡动画的使用技巧和注意事项,需要的朋友参考一下 背景 今天在编写页面时,看到页面没有任何效果就只是直入直出,完全没有一点逼格,所以想要实现类似于原生app的那种切换页面时的特效,遂开始google,发现网上各种方案都是各有优缺点,于是整理了自认为优雅的方案并记录下来. 实现难点 如何

  • 如图,如何给el-tab的el-tab-pane的label添加未读消息红点或者是未读消息的数量。

  • 简介 如何用yii2-bootstrap自带的组件tabs实现tab切换的功能,今天就用一个简单的实例以及效果演示来告诉大家如果应用tabs这个组件 演示 tab切换效果图 用法 echo Tabs::widget([ 'items' => [ [ 'label' => 'One', 'content' => 'Anim pariatur c

  • 两个页面切换,如何禁止刷新呢?不借助浏览器缓存方法,比如localStorage、sessionStorage, 切换会重新刷新页面,想要的结果是第一次切换刷新后,再次切换到当前页面无需刷新,就跟antd的Tabs一样效果 比如下面两个页面,用Radio来互相切换,比如第一个ChildComponents_1页面input输入“测试”内容,切换到ChildComponents_2,再切换Child

  • Vue 提供了多种方式支持动画过渡效果。例如在各个过渡阶段应用 CSS 类,提供钩子函数使用 JS 操作 DOM,使用第三方 CSS/JS 动画库等。 如果对 Vue 中内置的 transition 机制还不了解,可以阅读 官方的介绍。 在模板项目中,主要使用了最简单的应用 CSS 类的方式完成动画效果。 具体实现 在模板项目中,页面切换时,会有左右滑动效果。 具体表现为打开新页面时左滑展示,返回