mirror of
https://github.com/element-plus/element-plus.git
synced 2025-02-05 11:21:11 +08:00
fix(components): [dialog] set destory-on-close drag position abnormal (#7822)
This commit is contained in:
parent
7ba931bee7
commit
769148b780
@ -40,10 +40,10 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { inject } from 'vue'
|
||||
import { computed, inject } from 'vue'
|
||||
import { ElIcon } from '@element-plus/components/icon'
|
||||
import { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'
|
||||
import { useLocale } from '@element-plus/hooks'
|
||||
import { useDraggable, useLocale } from '@element-plus/hooks'
|
||||
import { CloseComponents, composeRefs } from '@element-plus/utils'
|
||||
import { dialogInjectionKey } from '@element-plus/tokens'
|
||||
import { dialogContentEmits, dialogContentProps } from './dialog-content'
|
||||
@ -52,11 +52,14 @@ const { t } = useLocale()
|
||||
const { Close } = CloseComponents
|
||||
|
||||
defineOptions({ name: 'ElDialogContent' })
|
||||
defineProps(dialogContentProps)
|
||||
const props = defineProps(dialogContentProps)
|
||||
defineEmits(dialogContentEmits)
|
||||
|
||||
const { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey)!
|
||||
const { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY)!
|
||||
|
||||
const composedDialogRef = composeRefs(focusTrapRef, dialogRef)
|
||||
|
||||
const draggable = computed(() => props.draggable)
|
||||
useDraggable(dialogRef, headerRef, draggable)
|
||||
</script>
|
||||
|
@ -70,12 +70,7 @@
|
||||
<script lang="ts" setup>
|
||||
import { computed, provide, ref, useSlots } from 'vue'
|
||||
import { ElOverlay } from '@element-plus/components/overlay'
|
||||
import {
|
||||
useDeprecated,
|
||||
useDraggable,
|
||||
useNamespace,
|
||||
useSameTarget,
|
||||
} from '@element-plus/hooks'
|
||||
import { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'
|
||||
import { dialogInjectionKey } from '@element-plus/tokens'
|
||||
import ElFocusTrap from '@element-plus/components/focus-trap'
|
||||
import ElDialogContent from './dialog-content.vue'
|
||||
@ -136,8 +131,6 @@ const overlayEvent = useSameTarget(onModalClick)
|
||||
|
||||
const draggable = computed(() => props.draggable && !props.fullscreen)
|
||||
|
||||
useDraggable(dialogRef, headerRef, draggable)
|
||||
|
||||
defineExpose({
|
||||
/** @description whether the dialog is visible */
|
||||
visible,
|
||||
|
Loading…
Reference in New Issue
Block a user