mirror of
https://gitee.com/myxzgzs/boyue-ui-admin-vue3
synced 2025-08-08 16:32:43 +08:00
!740 修复弹窗表单重复提交的问题
Merge pull request !740 from tzdxf/fix-dialog-submit
This commit is contained in:
commit
f37fcefd32
@ -1,9 +1,11 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { isNumber } from '@/utils/is'
|
import { isNumber } from '@/utils/is'
|
||||||
|
|
||||||
defineOptions({ name: 'Dialog' })
|
defineOptions({ name: 'Dialog' })
|
||||||
|
|
||||||
const slots = useSlots()
|
const slots = useSlots()
|
||||||
|
const emits = defineEmits(['update:modelValue'])
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
modelValue: propTypes.bool.def(false),
|
modelValue: propTypes.bool.def(false),
|
||||||
@ -55,6 +57,17 @@ const dialogStyle = computed(() => {
|
|||||||
height: unref(dialogHeight)
|
height: unref(dialogHeight)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const closing = ref(false)
|
||||||
|
|
||||||
|
function closeHandler() {
|
||||||
|
emits('update:modelValue', false)
|
||||||
|
closing.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
function closedHandler() {
|
||||||
|
closing.value = false
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -68,7 +81,8 @@ const dialogStyle = computed(() => {
|
|||||||
draggable
|
draggable
|
||||||
class="com-dialog"
|
class="com-dialog"
|
||||||
:show-close="false"
|
:show-close="false"
|
||||||
@close="$emit('update:modelValue', false)"
|
@close="closeHandler"
|
||||||
|
@closed="closedHandler"
|
||||||
>
|
>
|
||||||
<template #header="{ close }">
|
<template #header="{ close }">
|
||||||
<div class="relative h-54px flex items-center justify-between pl-15px pr-15px">
|
<div class="relative h-54px flex items-center justify-between pl-15px pr-15px">
|
||||||
@ -102,7 +116,9 @@ const dialogStyle = computed(() => {
|
|||||||
</ElScrollbar>
|
</ElScrollbar>
|
||||||
<slot v-else></slot>
|
<slot v-else></slot>
|
||||||
<template v-if="slots.footer" #footer>
|
<template v-if="slots.footer" #footer>
|
||||||
<slot name="footer"></slot>
|
<div :style="{ 'pointer-events': closing ? 'none' : 'auto' }">
|
||||||
|
<slot name="footer"></slot>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</ElDialog>
|
</ElDialog>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user