test(transition): in-out, appear & persisted

This commit is contained in:
Evan You
2019-11-27 17:54:41 -05:00
parent 7aac3418c0
commit 32602ccee1
3 changed files with 302 additions and 22 deletions

View File

@@ -1430,14 +1430,15 @@ export function createRenderer<
queuePostRenderEffect(() => transition!.enter(el!), parentSuspense)
} else {
const { leave, delayLeave, afterLeave } = transition!
const remove = () => hostInsert(el!, container, anchor)
const performLeave = () => {
leave(el!, () => {
hostInsert(el!, container, anchor)
remove()
afterLeave && afterLeave()
})
}
if (delayLeave) {
delayLeave(performLeave)
delayLeave(el!, remove, performLeave)
} else {
performLeave()
}
@@ -1526,7 +1527,7 @@ export function createRenderer<
const { leave, delayLeave } = transition
const performLeave = () => leave(el!, remove)
if (delayLeave) {
delayLeave(performLeave)
delayLeave(vnode.el!, remove, performLeave)
} else {
performLeave()
}