fix: dialog `opened/closed` event triggered incorrectly,fixed #4902 (#4908)

pull/48/MERGE
Netfan 2024-11-17 20:55:19 +08:00 committed by GitHub
parent ec53bf8084
commit 1302092798
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 5 deletions

View File

@ -48,11 +48,14 @@ const delegatedProps = computed(() => {
const forwarded = useForwardPropsEmits(delegatedProps, emits); const forwarded = useForwardPropsEmits(delegatedProps, emits);
const contentRef = ref<InstanceType<typeof DialogContent> | null>(null); const contentRef = ref<InstanceType<typeof DialogContent> | null>(null);
function onAnimationEnd() { function onAnimationEnd(event: AnimationEvent) {
if (props.open) { // contentRef opened/closed
emits('opened'); if (event.target === contentRef.value?.$el) {
} else { if (props.open) {
emits('closed'); emits('opened');
} else {
emits('closed');
}
} }
} }
defineExpose({ defineExpose({