From 509b268fba82a3f49a88b2c68976e7a6e45f0d3a Mon Sep 17 00:00:00 2001 From: Netfan Date: Thu, 16 Jan 2025 11:30:03 +0800 Subject: [PATCH 1/2] docs: update docs (#5408) --- .../common-ui/vben-api-component.md | 13 +++++------- docs/src/components/common-ui/vben-modal.md | 20 +++++++++---------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/docs/src/components/common-ui/vben-api-component.md b/docs/src/components/common-ui/vben-api-component.md index f275adfc2..caa9facf3 100644 --- a/docs/src/components/common-ui/vben-api-component.md +++ b/docs/src/components/common-ui/vben-api-component.md @@ -129,7 +129,8 @@ function fetchApi(): Promise> { | 属性名 | 描述 | 类型 | 默认值 | | --- | --- | --- | --- | -| component | 欲包装的组件 | `Component` | - | +| modelValue(v-model) | 当前值 | `any` | - | +| component | 欲包装的组件(以下称为目标组件) | `Component` | - | | numberToString | 是否将value从数字转为string | `boolean` | `false` | | api | 获取数据的函数 | `(arg?: any) => Promise>` | - | | params | 传递给api的参数 | `Record` | - | @@ -137,16 +138,12 @@ function fetchApi(): Promise> { | labelField | label字段名 | `string` | `label` | | childrenField | 子级数据字段名,需要层级数据的组件可用 | `string` | `` | | valueField | value字段名 | `string` | `value` | -| optionsPropName | 组件接收options数据的属性名称 | `string` | `options` | -| modelPropName | 组件的双向绑定属性名,默认为modelValue。部分组件可能为value | `string` | `modelValue` | +| optionsPropName | 目标组件接收options数据的属性名称 | `string` | `options` | +| modelPropName | 目标组件的双向绑定属性名,默认为modelValue。部分组件可能为value | `string` | `modelValue` | | immediate | 是否立即调用api | `boolean` | `true` | | alwaysLoad | 每次`visibleEvent`事件发生时都重新请求数据 | `boolean` | `false` | | beforeFetch | 在api请求之前的回调函数 | `AnyPromiseFunction` | - | | afterFetch | 在api请求之后的回调函数 | `AnyPromiseFunction` | - | | options | 直接传入选项数据,也作为api返回空数据时的后备数据 | `OptionsItem[]` | - | | visibleEvent | 触发重新请求数据的事件名 | `string` | - | -| loadingSlot | 组件的插槽名称,用来显示一个"加载中"的图标 | `string` | - | - -``` - -``` +| loadingSlot | 目标组件的插槽名称,用来显示一个"加载中"的图标 | `string` | - | diff --git a/docs/src/components/common-ui/vben-modal.md b/docs/src/components/common-ui/vben-modal.md index e9334c58a..e49196eed 100644 --- a/docs/src/components/common-ui/vben-modal.md +++ b/docs/src/components/common-ui/vben-modal.md @@ -127,7 +127,7 @@ const [Modal, modalApi] = useVbenModal({ | 事件名 | 描述 | 类型 | 版本号 | | --- | --- | --- | --- | -| onBeforeClose | 关闭前触发,返回 `false`或者被`reject`则禁止关闭 | `()=>Promise\|boolean` | | +| onBeforeClose | 关闭前触发,返回 `false`或者被`reject`则禁止关闭 | `()=>Promise\|boolean` | >5.5.2支持Promise | | onCancel | 点击取消按钮触发 | `()=>void` | | | onClosed | 关闭动画播放完毕时触发 | `()=>void` | >5.4.3 | | onConfirm | 点击确认按钮触发 | `()=>void` | | @@ -146,15 +146,15 @@ const [Modal, modalApi] = useVbenModal({ ### modalApi -| 方法 | 描述 | 类型 | -| --- | --- | --- | -| setState | 动态设置弹窗状态属性 | `(((prev: ModalState) => Partial)\| Partial)=>modalApi` | -| open | 打开弹窗 | `()=>void` | -| close | 关闭弹窗 | `()=>void` | -| setData | 设置共享数据 | `(data:T)=>modalApi` | -| getData | 获取共享数据 | `()=>T` | -| useStore | 获取可响应式状态 | - | -| lock | 将弹窗标记为提交中,锁定当前状态 | `(isLock:boolean)=>modalApi` | +| 方法 | 描述 | 类型 | 版本 | +| --- | --- | --- | --- | +| setState | 动态设置弹窗状态属性 | `(((prev: ModalState) => Partial)\| Partial)=>modalApi` | - | +| open | 打开弹窗 | `()=>void` | - | +| close | 关闭弹窗 | `()=>void` | - | +| setData | 设置共享数据 | `(data:T)=>modalApi` | - | +| getData | 获取共享数据 | `()=>T` | - | +| useStore | 获取可响应式状态 | - | - | +| lock | 将弹窗标记为提交中,锁定当前状态 | `(isLock:boolean)=>modalApi` | >5.5.2 | ::: info lock From 2d0859a7277fd7cb170f0bbfd727a996ac135452 Mon Sep 17 00:00:00 2001 From: Netfan Date: Thu, 16 Jan 2025 12:17:08 +0800 Subject: [PATCH 2/2] fix: mouse events ignored on modal loading (#5409) --- .../@core/ui-kit/popup-ui/src/modal/modal.vue | 2 +- .../api-component/api-component.vue | 28 +++++++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue index 7e834faaa..35858f697 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue +++ b/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, }) " > diff --git a/packages/effects/common-ui/src/components/api-component/api-component.vue b/packages/effects/common-ui/src/components/api-component/api-component.vue index c0274a140..c871fe20f 100644 --- a/packages/effects/common-ui/src/components/api-component/api-component.vue +++ b/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() { }