The child of a <transition> component should have changes to trigger the transition
- VUE_FIXED_TRANSITION_CHILD
- Error
- Medium
- vue
This rule applies when the child of a <transition> component does not have any changes to trigger the transition.
The <transition> component supports the changes incurred by the following:
- Conditional rendering using
v-if - Conditional display using
v-show - Dynamic components
- The
keyattribute value
For the transition effect to work, the above changes should be present in the child of <transition>, not the <transition> itself or its ancestors.
Note: The application of this rule is limited to projects using Vue 3.x version because in Vue 2.x, <transition> worked by accident when toggled from the outside.
Noncompliant Code Example
View with compliant examples side by side<template>
<button @click="show = !show">Toggle</button>
<transition name="fade" v-if="show">
<div>Hello</div> <!-- VUE_FIXED_TRANSITION_CHILD alarm -->
</transition>
</template>Compliant Code Example
View with noncompliant examples side by side<template>
<button @click="show = !show">Toggle</button>
<transition name="fade">
<div v-if="show">Hello</div>
</transition>
</template>Version
This rule was introduced in DeepScan 1.43.0.