JSFiddle - React, Tailwind, and code Playground
by skirtle
HTML
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition name="fade">
<p v-if="show">hello</p>
</transition>
</div>
CSS
.fade-enter-active, .fade-leave-active {
transition: opacity 2s;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}
JavaScript
const Transition = Vue.component('Transition')
const { props, render } = Transition
Transition.render = function () {
this.$options.propsData.duration = 0
return render.apply(this, arguments)
}
props.duration = {
type: props.duration,
default: 0
}
new Vue({
el: '#demo',
data: {
show: true
}
})