Browse Source

fix: mouse events ignored on modal loading (#5409)

pull/5417/head
Netfan 1 year ago
committed by GitHub
parent
commit
2d0859a727
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      packages/@core/ui-kit/popup-ui/src/modal/modal.vue
  2. 28
      packages/effects/common-ui/src/components/api-component/api-component.vue

2
packages/@core/ui-kit/popup-ui/src/modal/modal.vue

@ -252,7 +252,7 @@ const getAppendTo = computed(() => {
ref="wrapperRef" ref="wrapperRef"
:class=" :class="
cn('relative min-h-40 flex-1 overflow-y-auto p-3', contentClass, { cn('relative min-h-40 flex-1 overflow-y-auto p-3', contentClass, {
'pointer-events-none overflow-hidden': showLoading || submitting, 'overflow-hidden': showLoading || submitting,
}) })
" "
> >

28
packages/effects/common-ui/src/components/api-component/api-component.vue

@ -121,7 +121,7 @@ const bindProps = computed(() => {
[`onUpdate:${props.modelPropName}`]: (val: string) => { [`onUpdate:${props.modelPropName}`]: (val: string) => {
modelValue.value = val; modelValue.value = val;
}, },
...objectOmit(attrs, ['onUpdate:value']), ...objectOmit(attrs, [`onUpdate:${props.modelPropName}`]),
...(props.visibleEvent ...(props.visibleEvent
? { ? {
[props.visibleEvent]: handleFetchForVisible, [props.visibleEvent]: handleFetchForVisible,
@ -191,18 +191,16 @@ function emitChange() {
} }
</script> </script>
<template> <template>
<div v-bind="{ ...$attrs }"> <component
<component :is="component"
:is="component" v-bind="bindProps"
v-bind="bindProps" :placeholder="$attrs.placeholder"
:placeholder="$attrs.placeholder" >
> <template v-for="item in Object.keys($slots)" #[item]="data">
<template v-for="item in Object.keys($slots)" #[item]="data"> <slot :name="item" v-bind="data || {}"></slot>
<slot :name="item" v-bind="data || {}"></slot> </template>
</template> <template v-if="loadingSlot && loading" #[loadingSlot]>
<template v-if="loadingSlot && loading" #[loadingSlot]> <LoaderCircle class="animate-spin" />
<LoaderCircle class="animate-spin" /> </template>
</template> </component>
</component>
</div>
</template> </template>

Loading…
Cancel
Save