From 6cbbe88902ca46dc976dab3c03a8473e7615b333 Mon Sep 17 00:00:00 2001 From: XuZhiqiang Date: Sat, 16 May 2026 13:35:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(@vben/web-antdv-next):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=20antdv-next=20=E5=BA=9F=E5=BC=83=20API=EF=BC=8C=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E8=87=B3=E6=96=B0=E7=89=88=E6=9C=AC=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 ant-design-vue 旧版 API 统一迁移为 antdv-next 新版规范: - Modal: destroy-on-close → destroy-on-hidden - Card: :bordered="false" → variant="borderless",bodyStyle/headStyle → styles - Popover: overlay-style → styles.root - Divider: type → orientation - Space: direction → orientation - Alert: message → title - Spin: tip → description - Table: customRender → render - notification: message → title - Image preview: visible/onVisibleChange → open/onOpenChange - adapter: visibleEvent onVisibleChange → onOpenChange --- .../src/adapter/component/index.ts | 12 ++++++------ .../src/components/cron-tab/cron-tab.vue | 2 +- .../src/components/description/description.vue | 14 ++++++++------ apps/web-antdv-next/src/store/auth.ts | 2 +- .../views/ai/chat/index/modules/role/list.vue | 18 ++++++++++-------- .../src/views/ai/image/index/modules/list.vue | 16 +++++++++------- .../views/ai/knowledge/document/form/index.vue | 2 +- .../penal/listeners/ElementListeners.vue | 4 ++-- .../penal/listeners/UserTaskListeners.vue | 4 ++-- .../penal/properties/ElementProperties.vue | 2 +- .../penal/signal-message/SignalAndMessage.vue | 4 ++-- .../task/task-components/CallActivity.vue | 4 ++-- .../nodes-config/modules/condition.vue | 2 +- .../nodes-config/router-node-config.vue | 2 +- .../src/views/bpm/form/mobile/index.vue | 2 +- .../src/views/bpm/form/modules/detail.vue | 4 ++-- .../src/views/bpm/model/form/index.vue | 2 +- .../src/views/bpm/model/index.vue | 2 +- .../model/modules/category-draggable-model.vue | 2 +- .../src/views/bpm/oa/leave/detail.vue | 2 +- .../views/bpm/processInstance/create/index.vue | 7 +++---- .../processInstance/create/modules/form.vue | 10 ++++++---- .../views/bpm/processInstance/detail/index.vue | 6 ++---- .../detail/modules/operation-button.vue | 16 ++++++++-------- .../src/views/infra/webSocket/index.vue | 4 ++-- .../src/views/iot/alert/record/index.vue | 2 +- .../modules/thing-model-property-history.vue | 2 +- .../detail/modules/thing-model-property.vue | 2 +- .../src/views/iot/device/device/index.vue | 2 +- .../iot/device/device/modules/card-view.vue | 2 +- .../iot/ota/modules/task/ota-task-detail.vue | 2 +- .../iot/ota/modules/task/ota-task-list.vue | 2 +- .../src/views/iot/product/product/index.vue | 2 +- .../iot/product/product/modules/card-view.vue | 2 +- .../thing-model-struct-data-specs.vue | 2 +- .../modules/thing-model-input-output-param.vue | 2 +- .../mall/home/modules/comparison-card.vue | 2 +- .../home/modules/member-statistics-card.vue | 2 +- .../mall/home/modules/operation-data-card.vue | 2 +- .../views/mall/home/modules/shortcut-card.vue | 2 +- .../mall/home/modules/trade-trend-card.vue | 2 +- .../spu/components/sku-table-select.vue | 2 +- .../mall/product/spu/components/spu-select.vue | 2 +- .../spu/components/spu-table-select.vue | 2 +- .../mobile/navigation-bar/property.vue | 4 ++-- .../components/mobile/notice-bar/index.vue | 2 +- .../mobile/product-list/property.vue | 8 ++++---- .../mobile/promotion-combination/property.vue | 10 +++++----- .../promotion/components/diy-editor/index.vue | 8 +++++--- .../components/vertical-button-group/index.vue | 2 +- .../promotion/coupon/components/select.vue | 2 +- .../promotion/kefu/modules/message-list.vue | 2 +- .../statistics/member/modules/area-card.vue | 2 +- .../statistics/member/modules/funnel-card.vue | 2 +- .../statistics/member/modules/sex-card.vue | 2 +- .../member/modules/terminal-card.vue | 2 +- .../statistics/product/modules/rank-card.vue | 2 +- .../product/modules/summary-card.vue | 2 +- .../statistics/trade/modules/trend-card.vue | 2 +- .../views/mp/components/wx-reply/tab-image.vue | 2 +- .../views/mp/components/wx-reply/tab-music.vue | 2 +- .../views/mp/components/wx-reply/tab-news.vue | 2 +- .../views/mp/components/wx-reply/tab-video.vue | 2 +- .../views/mp/components/wx-reply/tab-voice.vue | 2 +- .../components/wx-video-play/wx-video-play.vue | 2 +- .../src/views/mp/draft/modules/form.vue | 2 +- .../src/views/mp/menu/modules/editor.vue | 2 +- .../src/views/mp/message/index.vue | 2 +- 68 files changed, 130 insertions(+), 123 deletions(-) diff --git a/apps/web-antdv-next/src/adapter/component/index.ts b/apps/web-antdv-next/src/adapter/component/index.ts index a447db1d0..0aed8b5c6 100644 --- a/apps/web-antdv-next/src/adapter/component/index.ts +++ b/apps/web-antdv-next/src/adapter/component/index.ts @@ -279,9 +279,9 @@ async function previewImage( { class: 'hidden', preview: { - visible: visible.value, + open: visible.value, current: currentIndex, - onVisibleChange: (value: boolean) => { + onOpenChange: (value: boolean) => { visible.value = value; if (!value) { setTimeout(() => { @@ -366,7 +366,7 @@ function cropImage(file: File, aspectRatio: string | undefined) { closable: false, cancelText: $t('common.cancel'), okText: $t('ui.crop.confirm'), - destroyOnClose: true, + destroyOnHidden: true, onOk: async () => { const cropper = cropperRef.value; if (!cropper) { @@ -676,13 +676,13 @@ async function initComponentAdapter() { fieldNames: { label: 'label', value: 'value', children: 'children' }, loadingSlot: 'suffixIcon', modelPropName: 'value', - visibleEvent: 'onVisibleChange', + visibleEvent: 'onOpenChange', }), ApiSelect: withDefaultPlaceholder(ApiComponent, 'select', { component: Select, loadingSlot: 'suffixIcon', modelPropName: 'value', - visibleEvent: 'onVisibleChange', + visibleEvent: 'onOpenChange', }), ApiTreeSelect: withDefaultPlaceholder(ApiComponent, 'select', { component: TreeSelect, @@ -690,7 +690,7 @@ async function initComponentAdapter() { loadingSlot: 'suffixIcon', modelPropName: 'value', optionsPropName: 'treeData', - visibleEvent: 'onVisibleChange', + visibleEvent: 'onOpenChange', }), AutoComplete, Cascader, diff --git a/apps/web-antdv-next/src/components/cron-tab/cron-tab.vue b/apps/web-antdv-next/src/components/cron-tab/cron-tab.vue index 59bf8004e..87cce4737 100644 --- a/apps/web-antdv-next/src/components/cron-tab/cron-tab.vue +++ b/apps/web-antdv-next/src/components/cron-tab/cron-tab.vue @@ -438,7 +438,7 @@ function inputChange() {
diff --git a/apps/web-antdv-next/src/components/description/description.vue b/apps/web-antdv-next/src/components/description/description.vue index 86f90c8d4..09f5c2697 100644 --- a/apps/web-antdv-next/src/components/description/description.vue +++ b/apps/web-antdv-next/src/components/description/description.vue @@ -172,13 +172,15 @@ export default defineComponent({ return ( {{ diff --git a/apps/web-antdv-next/src/store/auth.ts b/apps/web-antdv-next/src/store/auth.ts index af0e91594..539c37667 100644 --- a/apps/web-antdv-next/src/store/auth.ts +++ b/apps/web-antdv-next/src/store/auth.ts @@ -95,7 +95,7 @@ export const useAuthStore = defineStore('auth', () => { notification.success({ description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.nickname}`, duration: 3, - message: $t('authentication.loginSuccess'), + title: $t('authentication.loginSuccess'), }); } } diff --git a/apps/web-antdv-next/src/views/ai/chat/index/modules/role/list.vue b/apps/web-antdv-next/src/views/ai/chat/index/modules/role/list.vue index 4bd78271d..bc6f55bb7 100644 --- a/apps/web-antdv-next/src/views/ai/chat/index/modules/role/list.vue +++ b/apps/web-antdv-next/src/views/ai/chat/index/modules/role/list.vue @@ -65,14 +65,16 @@ async function handleTabsScroll() {
diff --git a/apps/web-antdv-next/src/views/ai/image/index/modules/list.vue b/apps/web-antdv-next/src/views/ai/image/index/modules/list.vue index e6b49b744..3be7355a8 100644 --- a/apps/web-antdv-next/src/views/ai/image/index/modules/list.vue +++ b/apps/web-antdv-next/src/views/ai/image/index/modules/list.vue @@ -174,13 +174,15 @@ onUnmounted(async () => {