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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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,