File tree Expand file tree Collapse file tree 1 file changed +5
-1
lines changed
Expand file tree Collapse file tree 1 file changed +5
-1
lines changed Original file line number Diff line number Diff line change 11import { filterEmpty } from './props-util' ;
22import type { VNode , VNodeProps } from 'vue' ;
3- import { cloneVNode } from 'vue' ;
3+ import { cloneVNode , isVNode } from 'vue' ;
44import warning from './warning' ;
55import type { RefObject } from './createRef' ;
66type NodeProps = Record < string , any > &
@@ -40,6 +40,10 @@ export function deepCloneElement<T, U>(
4040 if ( Array . isArray ( vnode ) ) {
4141 return vnode . map ( item => deepCloneElement ( item , nodeProps , override , mergeRef ) ) ;
4242 } else {
43+ // 需要判断是否为vnode方可进行clone操作
44+ if ( ! isVNode ( vnode ) ) {
45+ return vnode ;
46+ }
4347 const cloned = cloneElement ( vnode , nodeProps , override , mergeRef ) ;
4448 if ( Array . isArray ( cloned . children ) ) {
4549 cloned . children = deepCloneElement ( cloned . children as VNode < T , U > [ ] ) ;
You can’t perform that action at this time.
0 commit comments