@@ -5,7 +5,7 @@ import { getTransitionProps } from '../_util/transition';
5
5
import dialogPropTypes from './IDialogPropTypes' ;
6
6
import { offset } from './util' ;
7
7
const sentinelStyle = { width : 0 , height : 0 , overflow : 'hidden' , outline : 'none' } ;
8
-
8
+ const entityStyle = { outline : 'none' } ;
9
9
export type ContentRef = {
10
10
focus : ( ) => void ;
11
11
changeActive : ( next : boolean ) => void ;
@@ -28,14 +28,14 @@ export default defineComponent({
28
28
const dialogRef = ref < HTMLDivElement > ( ) ;
29
29
expose ( {
30
30
focus : ( ) => {
31
- sentinelStartRef . value ?. focus ( ) ;
31
+ sentinelStartRef . value ?. focus ( { preventScroll : true } ) ;
32
32
} ,
33
33
changeActive : next => {
34
34
const { activeElement } = document ;
35
35
if ( next && activeElement === sentinelEndRef . value ) {
36
- sentinelStartRef . value . focus ( ) ;
36
+ sentinelStartRef . value . focus ( { preventScroll : true } ) ;
37
37
} else if ( ! next && activeElement === sentinelStartRef . value ) {
38
- sentinelEndRef . value . focus ( ) ;
38
+ sentinelEndRef . value . focus ( { preventScroll : true } ) ;
39
39
}
40
40
} ,
41
41
} ) ;
@@ -143,9 +143,10 @@ export default defineComponent({
143
143
onMousedown = { onMousedown }
144
144
onMouseup = { onMouseup }
145
145
>
146
- < div tabindex = { 0 } ref = { sentinelStartRef } style = { sentinelStyle } inert />
147
- { modalRender ? modalRender ( { originVNode : content } ) : content }
148
- < div tabindex = { 0 } ref = { sentinelEndRef } style = { sentinelStyle } inert />
146
+ < div tabindex = { 0 } ref = { sentinelStartRef } style = { entityStyle } >
147
+ { modalRender ? modalRender ( { originVNode : content } ) : content }
148
+ </ div >
149
+ < div tabindex = { 0 } ref = { sentinelEndRef } style = { sentinelStyle } />
149
150
</ div >
150
151
) : null }
151
152
</ Transition >
0 commit comments