fix(components): [dialog] click allow focus out (#10160)

Co-authored-by: OpenGraphica <opengraphica@gmail.com>
This commit is contained in:
Giwayume
2022-10-20 20:50:41 -04:00
committed by GitHub
parent c7b8cf7e54
commit 715384bf4e
2 changed files with 9 additions and 0 deletions

View File

@@ -31,6 +31,7 @@
focus-start-el="container"
@focus-after-trapped="onOpenAutoFocus"
@focus-after-released="onCloseAutoFocus"
@focusout-prevented="onFocusoutPrevented"
@release-requested="onCloseRequested"
>
<el-dialog-content
@@ -132,6 +133,7 @@ const {
onOpenAutoFocus,
onCloseAutoFocus,
onCloseRequested,
onFocusoutPrevented,
} = useDialog(props, dialogRef)
provide(dialogInjectionKey, {

View File

@@ -138,6 +138,12 @@ export const useDialog = (
emit('closeAutoFocus')
}
function onFocusoutPrevented(event: CustomEvent) {
if (event.detail?.focusReason === 'pointer') {
event.preventDefault()
}
}
if (props.lockScroll) {
useLockscreen(visible)
}
@@ -204,6 +210,7 @@ export const useDialog = (
onOpenAutoFocus,
onCloseAutoFocus,
onCloseRequested,
onFocusoutPrevented,
titleId,
bodyId,
closed,