Browse Source

really fix out-in mode

dev
Evan You 8 years ago
parent
commit
582a8932d3
  1. 13
      src/platforms/web/runtime/components/transition.js

13
src/platforms/web/runtime/components/transition.js

@ -60,15 +60,18 @@ export default {
const oldChild = getRealChild(oldRawChild)
if (mode && oldChild && oldChild.data && oldChild.key !== child.key) {
if (mode === 'out-in') {
// return old node
// and queue an update when the leave finishes
if (!oldChild.elm._leaveCb && oldRawChild.data.transition) {
if (
!oldChild.elm._leaveCb && // not already leaving
oldChild.data.transition // not already left
) {
leave(oldChild, () => {
oldRawChild.data.transition = null
// mark left & avoid triggering leave transition again
oldChild.data.transition = null
this.$forceUpdate()
})
}
if (oldRawChild.data.transition) {
// return old node if not left yet
if (oldChild.data.transition) {
return oldRawChild
}
} else if (mode === 'in-out') {

Loading…
Cancel
Save