@@ -14,6 +14,7 @@ import Mask from './Mask';
14
14
import { getPlacements } from './placements' ;
15
15
import TourStep from './TourStep' ;
16
16
import { getPlacement } from './util' ;
17
+ import Placeholder from './Placeholder' ;
17
18
18
19
const CENTER_PLACEHOLDER : React . CSSProperties = {
19
20
left : '50%' ,
@@ -201,8 +202,8 @@ const Tour: React.FC<TourProps> = props => {
201
202
typeof mergedMask === 'boolean' ? undefined : mergedMask ;
202
203
203
204
// when targetElement is not exist, use body as triggerDOMNode
204
- const getTriggerDOMNode = node => {
205
- return node || targetElement || document . body ;
205
+ const fallbackDOM = ( ) => {
206
+ return targetElement || document . body ;
206
207
} ;
207
208
208
209
return (
@@ -237,29 +238,26 @@ const Tour: React.FC<TourProps> = props => {
237
238
forceRender = { false }
238
239
autoDestroy
239
240
zIndex = { zIndex }
240
- getTriggerDOMNode = { getTriggerDOMNode }
241
241
arrow = { ! ! mergedArrow }
242
242
>
243
- < Portal
243
+ < Placeholder
244
244
open = { mergedOpen }
245
245
autoLock = { ! inlineMode }
246
246
getContainer = { getPopupContainer as any }
247
- >
248
- < div
249
- ref = { placeholderRef }
250
- className = { classNames (
251
- className ,
252
- rootClassName ,
253
- `${ prefixCls } -target-placeholder` ,
254
- ) }
255
- style = { {
256
- ...( posInfo || CENTER_PLACEHOLDER ) ,
257
- position : inlineMode ? 'absolute' : 'fixed' ,
258
- pointerEvents : 'none' ,
259
- ...style ,
260
- } }
261
- />
262
- </ Portal >
247
+ domRef = { placeholderRef }
248
+ fallbackDOM = { fallbackDOM }
249
+ className = { classNames (
250
+ className ,
251
+ rootClassName ,
252
+ `${ prefixCls } -target-placeholder` ,
253
+ ) }
254
+ style = { {
255
+ ...( posInfo || CENTER_PLACEHOLDER ) ,
256
+ position : inlineMode ? 'absolute' : 'fixed' ,
257
+ pointerEvents : 'none' ,
258
+ ...style ,
259
+ } }
260
+ />
263
261
</ Trigger >
264
262
</ >
265
263
) ;
0 commit comments