From 8839fdcacba66e224a0b2a30d3b6a2cf4dd382c1 Mon Sep 17 00:00:00 2001 From: ajaxzheng <894103554@qq.com> Date: Mon, 7 Apr 2025 17:05:58 +0800 Subject: [PATCH] feat(message): add Message component type definition and update the type annotation of the installation method (#3252) --- packages/vue/src/message/index.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/vue/src/message/index.ts b/packages/vue/src/message/index.ts index e34f22acb..dba70d072 100644 --- a/packages/vue/src/message/index.ts +++ b/packages/vue/src/message/index.ts @@ -2,13 +2,27 @@ import Modal from '@opentiny/vue-modal' import { extend } from '@opentiny/utils' import { $prefix } from '@opentiny/vue-common' import { version } from './package.json' +import type { ComponentPublicInstance } from '@opentiny/vue-common' + +// 定义 Message 组件类型 +interface MessageComponent extends ComponentPublicInstance { + name: string + version: string + install: (Vue: any) => void + componentName: string +} + +// 定义 Vue 类型 +interface VueConstructor { + component: (name: string, component: any) => void +} const Message = extend(true, { props: { componentName: { type: String, default: 'Message' } } }, Modal, { name: $prefix + 'Message' -}) +}) as MessageComponent /* istanbul ignore next */ -Message.install = function (Vue) { +Message.install = function (Vue: VueConstructor) { Vue.component(Message.name, Message) }