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

Loading…
Cancel
Save