// the css will not get the final state (#10677)
if (!el._enterCancelled) {
// force reflow so *-leave-from classes immediately take effect (#2593)
- forceReflow()
+ forceReflow(el)
addTransitionClass(el, leaveActiveClass)
} else {
addTransitionClass(el, leaveActiveClass)
- forceReflow()
+ forceReflow(el)
}
nextFrame(() => {
if (!el._isLeaving) {
}
// synchronously force layout to put elements into a certain state
-export function forceReflow(): number {
- return document.body.offsetHeight
+export function forceReflow(el?: Node): number {
+ const targetDocument = el ? el.ownerDocument! : document
+ return targetDocument.body.offsetHeight
}
const movedChildren = prevChildren.filter(applyTranslation)
// force reflow to put everything in position
- forceReflow()
+ forceReflow(instance.vnode.el as Node)
movedChildren.forEach(c => {
const el = c.el as ElementWithTransition