]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor: adjust logic branches
authorEvan You <yyx990803@gmail.com>
Mon, 1 Mar 2021 20:45:55 +0000 (15:45 -0500)
committerEvan You <yyx990803@gmail.com>
Mon, 1 Mar 2021 20:45:55 +0000 (15:45 -0500)
packages/runtime-core/src/renderer.ts

index 2a0b6a312ce5db449816146cbcae555bded0a7f1..3089b102796bd3ebf77931c9a23e96d86bdb94f8 100644 (file)
@@ -316,15 +316,14 @@ export const setRef = (
   if (!vnode) {
     // means unmount
     value = null
-  } else {
+  } else if (isAsyncWrapper(vnode)) {
     // when mounting async components, nothing needs to be done,
     // because the template ref is forwarded to inner component
-    if (isAsyncWrapper(vnode)) return
-    if (vnode.shapeFlag & ShapeFlags.STATEFUL_COMPONENT) {
-      value = vnode.component!.exposed || vnode.component!.proxy
-    } else {
-      value = vnode.el
-    }
+    return
+  } else if (vnode.shapeFlag & ShapeFlags.STATEFUL_COMPONENT) {
+    value = vnode.component!.exposed || vnode.component!.proxy
+  } else {
+    value = vnode.el
   }
 
   const { i: owner, r: ref } = rawRef