MCPcopy
hub / github.com/vuejs/core / leave

Function leave

packages/runtime-core/src/components/BaseTransition.ts:448–479  ·  view source on GitHub ↗
(el, remove)

Source from the content-addressed store, hash-verified

446 },
447
448 leave(el, remove) {
449 const key = String(vnode.key)
450 if (el[enterCbKey]) {
451 el[enterCbKey](true /* cancelled */)
452 }
453 if (state.isUnmounting) {
454 return remove()
455 }
456 callHook(onBeforeLeave, [el])
457 let called = false
458 el[leaveCbKey] = (cancelled?) => {
459 if (called) return
460 called = true
461 remove()
462 if (cancelled) {
463 callHook(onLeaveCancelled, [el])
464 } else {
465 callHook(onAfterLeave, [el])
466 }
467 el[leaveCbKey] = undefined
468 if (leavingVNodesCache[key] === vnode) {
469 delete leavingVNodesCache[key]
470 }
471 }
472 const done = el[leaveCbKey]!.bind(null, false)
473 leavingVNodesCache[key] = vnode
474 if (onLeave) {
475 callAsyncHook(onLeave, [el, done])
476 } else {
477 done()
478 }
479 },
480
481 clone(vnode) {
482 const hooks = resolveTransitionHooks(

Callers 1

performLeaveFunction · 0.50

Calls 4

StringInterface · 0.85
callAsyncHookFunction · 0.85
removeFunction · 0.70
callHookFunction · 0.70

Tested by

no test coverage detected