diff --git a/CHANGELOG.md b/CHANGELOG.md index c4fe17ae..e074de7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 1.2.3 + +**BUG FIX** + +- `withDefaultPlaceholder`中将`placeholder`修改为computed, 解决后续使用`updateSchema`无法正常更新显示placeholder(响应式问题) + # 1.2.2 **FEATURES** diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index 49063a18..fdfda3d9 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-antd", - "version": "1.2.2", + "version": "1.2.3", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/apps/web-antd/src/adapter/component/index.ts b/apps/web-antd/src/adapter/component/index.ts index 10ab89d5..c61e9b48 100644 --- a/apps/web-antd/src/adapter/component/index.ts +++ b/apps/web-antd/src/adapter/component/index.ts @@ -8,7 +8,7 @@ import type { Component } from 'vue'; import type { BaseFormComponentType } from '@vben/common-ui'; import type { Recordable } from '@vben/types'; -import { defineComponent, getCurrentInstance, h, ref } from 'vue'; +import { computed, defineComponent, getCurrentInstance, h, ref } from 'vue'; import { ApiComponent, globalShareState, IconPicker } from '@vben/common-ui'; import { $t } from '@vben/locales'; @@ -49,10 +49,16 @@ const withDefaultPlaceholder = ( inheritAttrs: false, name: component.name, setup: (props: any, { attrs, expose, slots }) => { - const placeholder = - props?.placeholder || - attrs?.placeholder || - $t(`ui.placeholder.${type}`); + /** + * 需要使用computed 否则后续updateSchema更新的placeholder无法显示(响应式问题) + */ + const placeholder = computed( + () => + props?.placeholder || + attrs?.placeholder || + $t(`ui.placeholder.${type}`), + ); + // 透传组件暴露的方法 const innerRef = ref(); const publicApi: Recordable = {}; @@ -66,7 +72,11 @@ const withDefaultPlaceholder = ( } }); return () => - h(component, { ...props, ...attrs, placeholder, ref: innerRef }, slots); + h( + component, + { ...props, ...attrs, placeholder: placeholder.value, ref: innerRef }, + slots, + ); }, }); };