From 198052e39339f01ff9e91b6edf55c32f6ab1567d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90?= Date: Fri, 1 Jul 2022 19:07:38 +0800 Subject: [PATCH 1/2] fix(components): [message] fix z-index --- packages/components/message/src/method.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/message/src/method.ts b/packages/components/message/src/method.ts index f6972a1d7e367..f8916417c0e50 100644 --- a/packages/components/message/src/method.ts +++ b/packages/components/message/src/method.ts @@ -82,7 +82,7 @@ const createMessage = ( const props = { ...options, - zIndex: options.zIndex ?? nextZIndex(), + zIndex: nextZIndex() + options.zIndex, id, onClose: () => { userOnClose?.() From 74d0fd3bf7999b9a5f8567f0e3e84310e143de1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90?= Date: Fri, 1 Jul 2022 19:39:50 +0800 Subject: [PATCH 2/2] fix(components): [message] get exposed in production --- packages/components/message/src/instance.ts | 8 ++++---- packages/components/message/src/method.ts | 8 +++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/components/message/src/instance.ts b/packages/components/message/src/instance.ts index 30e2f4133b382..833caa6b30436 100644 --- a/packages/components/message/src/instance.ts +++ b/packages/components/message/src/instance.ts @@ -1,13 +1,13 @@ import { shallowReactive } from 'vue' -import type { VNode } from 'vue' +import type { ComponentInternalInstance, VNode } from 'vue' import type { Mutable } from '@element-plus/utils' -import type { MessageHandler, MessageInstance, MessageProps } from './message' +import type { MessageHandler, MessageProps } from './message' export type MessageContext = { id: string vnode: VNode handler: MessageHandler - vm: MessageInstance + vm: ComponentInternalInstance props: Mutable } @@ -26,5 +26,5 @@ export const getInstance = (id: string) => { export const getLastOffset = (id: string): number => { const { prev } = getInstance(id) if (!prev) return 0 - return prev.vm.bottom + return prev.vm.exposeProxy!.bottom } diff --git a/packages/components/message/src/method.ts b/packages/components/message/src/method.ts index f8916417c0e50..573e61229b3bb 100644 --- a/packages/components/message/src/method.ts +++ b/packages/components/message/src/method.ts @@ -20,7 +20,6 @@ import type { Message, MessageFn, MessageHandler, - MessageInstance, MessageOptions, MessageParams, MessageParamsNormalized, @@ -110,14 +109,13 @@ const createMessage = ( // instances will remove this item when close function gets called. So we do not need to worry about it. appendTo.appendChild(container.firstElementChild!) - const vm = vnode.component!.proxy as MessageInstance + const vm = vnode.component! + const handler: MessageHandler = { // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle // for out component, so that all closing steps will not be skipped. close: () => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore `visible` from defineExpose - vm.visible = false + vm.exposeProxy!.visible = false }, }