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 1
1
import { filterEmpty } from './props-util' ;
2
2
import type { VNode , VNodeProps } from 'vue' ;
3
- import { cloneVNode } from 'vue' ;
3
+ import { cloneVNode , isVNode } from 'vue' ;
4
4
import warning from './warning' ;
5
5
import type { RefObject } from './createRef' ;
6
6
type NodeProps = Record < string , any > &
@@ -40,6 +40,10 @@ export function deepCloneElement<T, U>(
40
40
if ( Array . isArray ( vnode ) ) {
41
41
return vnode . map ( item => deepCloneElement ( item , nodeProps , override , mergeRef ) ) ;
42
42
} else {
43
+ // 需要判断是否为vnode方可进行clone操作
44
+ if ( ! isVNode ( vnode ) ) {
45
+ return vnode ;
46
+ }
43
47
const cloned = cloneElement ( vnode , nodeProps , override , mergeRef ) ;
44
48
if ( Array . isArray ( cloned . children ) ) {
45
49
cloned . children = deepCloneElement ( cloned . children as VNode < T , U > [ ] ) ;
You can’t perform that action at this time.
0 commit comments