diff --git a/components/popover/index.jsx b/components/popover/index.tsx similarity index 85% rename from components/popover/index.jsx rename to components/popover/index.tsx index d066a40a5..fb48d58ae 100644 --- a/components/popover/index.jsx +++ b/components/popover/index.tsx @@ -1,4 +1,4 @@ -import { inject } from 'vue'; +import { App, defineComponent, inject } from 'vue'; import Tooltip from '../tooltip'; import abstractTooltipProps from '../tooltip/abstractTooltipProps'; import PropTypes from '../_util/vue-types'; @@ -6,7 +6,7 @@ import { getOptionProps, getComponent, getSlot } from '../_util/props-util'; import { defaultConfigProvider } from '../config-provider'; const props = abstractTooltipProps(); -const Popover = { +const Popover = defineComponent({ name: 'APopover', props: { ...props, @@ -22,13 +22,13 @@ const Popover = { }, methods: { getPopupDomNode() { - return this.$refs.tooltip.getPopupDomNode(); + return (this.$refs.tooltip as any).getPopupDomNode(); }, }, render() { const { title, prefixCls: customizePrefixCls, $slots } = this; - const getPrefixCls = this.configProvider.getPrefixCls; + const { getPrefixCls } = this.configProvider; const prefixCls = getPrefixCls('popover', customizePrefixCls); const props = getOptionProps(this); @@ -49,10 +49,10 @@ const Popover = { }; return {getSlot(this)}; }, -}; +}); /* istanbul ignore next */ -Popover.install = function(app) { +Popover.install = function(app: App) { app.component(Popover.name, Popover); return app; }; diff --git a/components/popover/style/index.js b/components/popover/style/index.ts similarity index 100% rename from components/popover/style/index.js rename to components/popover/style/index.ts