@@ -11,6 +11,8 @@ import { VNode, VNodeArrayChildren, VNodeProps } from '../vnode'
11
11
import { isString , ShapeFlags } from '@vue/shared'
12
12
import { warn } from '../warning'
13
13
14
+ export type TeleportVNode = VNode < RendererNode , RendererElement , TeleportProps >
15
+
14
16
export interface TeleportProps {
15
17
to : string | RendererElement
16
18
disabled ?: boolean
@@ -55,8 +57,8 @@ const resolveTarget = <T = RendererElement>(
55
57
export const TeleportImpl = {
56
58
__isTeleport : true ,
57
59
process (
58
- n1 : VNode | null ,
59
- n2 : VNode ,
60
+ n1 : TeleportVNode | null ,
61
+ n2 : TeleportVNode ,
60
62
container : RendererElement ,
61
63
anchor : RendererNode | null ,
62
64
parentComponent : ComponentInternalInstance | null ,
@@ -85,10 +87,7 @@ export const TeleportImpl = {
85
87
insert ( placeholder , container , anchor )
86
88
insert ( mainAnchor , container , anchor )
87
89
88
- const target = ( n2 . target = resolveTarget (
89
- n2 . props as TeleportProps ,
90
- querySelector
91
- ) )
90
+ const target = ( n2 . target = resolveTarget ( n2 . props , querySelector ) )
92
91
const targetAnchor = ( n2 . targetAnchor = createText ( '' ) )
93
92
if ( target ) {
94
93
insert ( targetAnchor , target )
@@ -165,7 +164,7 @@ export const TeleportImpl = {
165
164
// target changed
166
165
if ( ( n2 . props && n2 . props . to ) !== ( n1 . props && n1 . props . to ) ) {
167
166
const nextTarget = ( n2 . target = resolveTarget (
168
- n2 . props as TeleportProps ,
167
+ n2 . props ,
169
168
querySelector
170
169
) )
171
170
if ( nextTarget ) {
@@ -267,7 +266,7 @@ interface TeleportTargetElement extends Element {
267
266
268
267
function hydrateTeleport (
269
268
node : Node ,
270
- vnode : VNode ,
269
+ vnode : TeleportVNode ,
271
270
parentComponent : ComponentInternalInstance | null ,
272
271
parentSuspense : SuspenseBoundary | null ,
273
272
optimized : boolean ,
@@ -284,7 +283,7 @@ function hydrateTeleport(
284
283
) => Node | null
285
284
) : Node | null {
286
285
const target = ( vnode . target = resolveTarget < Element > (
287
- vnode . props as TeleportProps ,
286
+ vnode . props ,
288
287
querySelector
289
288
) )
290
289
if ( target ) {
0 commit comments