Vue table使用transition组件过渡动画

在使用Vue的TRANSITION组件时遇到困难,通过IS绑定解决问题。了解到在DOM模板解析中,受限元素如<transition>可能导致错误渲染。解决办法是在自定义组件中使用<transition>的is特性。推荐使用JavaScript内联模板字符串或组件模板以避免DOM模板的限制。
摘要由CSDN通过智能技术生成
        <table>
          <thead>
            <tr>
              <td>check</td>
              <td>name</td>
              <td>delete</td>
            </tr>
          </thead>
          
          <tbody is="transition-group"
            name="slide" mode="out-in">
        
          <tr v-for='task in tasks' v-bind:key='task'>
            <td><input type="checkbox" value="1" id="checkboxFourInout" name="" v-model="task.done"></td>
            <td><span :class=" {taskDone:task.done}">{
  {task.name}}</span></td>
            <td><button class="btn btn-danger " @click="deleteTask(task)">Delete</button></td>
          </tr>
          </transition>
          </tbody>
       </table>

一开始用TRANSITION组件老是不成功,后来才知道要用IS绑定,再后来在文档找到的解释如下:

DOM 模板解析注意事项

是的,Vue 中的 `transition` 组件可以用来创建动画效果,通过在元素的进入、离开或同时进行时应用不同的 CSS 类,从而实现过渡动画效果。 `transition` 组件可以在元素进入或离开时触发以下四个 CSS 类: - 进入过渡动画: - `v-enter`: 进入过渡动画的开始状态,此时元素还没有插入到 DOM 中。 - `v-enter-active`: 进入过渡动画的过程状态,此时可以通过设置 CSS 过渡动画来实现动画效果。 - `v-enter-to`: 进入过渡动画的结束状态,此时元素已经插入到 DOM 中。 - 离开过渡动画: - `v-leave`: 离开过渡动画的开始状态,此时元素还没有从 DOM 中移除。 - `v-leave-active`: 离开过渡动画的过程状态,此时可以通过设置 CSS 过渡动画来实现动画效果。 - `v-leave-to`: 离开过渡动画的结束状态,此时元素已经从 DOM 中移除。 下面是一个简单的示例,用于说明 `transition` 组件的用法: ```html <template> <div> <button @click="show = !show">Toggle</button> <transition name="fade"> <p v-if="show">Hello World!</p> </transition> </div> </template> <script> export default { data() { return { show: false } } } </script> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style> ``` 在上面的代码中,我们使用 `transition` 组件包裹一个 `p` 元素,并在 `p` 元素上使用 `v-if` 指令来控制其显示或隐藏。然后,我们通过点击按钮来切换 `show` 变量的值,从而触发 `transition` 组件的进入或离开过渡动画。 在样式中,我们定义了 `fade-enter-active` 和 `fade-leave-active` 类来设置过渡动画的过程状态,定义了 `fade-enter` 和 `fade-leave-to` 类来设置过渡动画的开始和结束状态。在这个示例中,我们使用了 `opacity` 属性来实现淡入淡出的动画效果。 需要注意的是,为了让 `transition` 组件正常工作,我们还需要定义一个过渡名称,可以通过 `name` 属性来设置。在上面的示例中,我们将过渡名称设置为 `fade`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值