From b0258f6c3e8a0dac76bcbe8146e78c0ab7465dca Mon Sep 17 00:00:00 2001 From: dopamine Date: Sat, 29 Jul 2023 11:20:17 +0800 Subject: [PATCH] chore(components): [date-picker] export instasnce type (#13618) * chore(components): [date-picker] export instasnce type * move DatePickerInstance to instance.ts --- packages/components/date-picker/index.ts | 1 + packages/components/date-picker/src/date-picker.tsx | 3 ++- packages/components/date-picker/src/instance.ts | 12 ++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 packages/components/date-picker/src/instance.ts diff --git a/packages/components/date-picker/index.ts b/packages/components/date-picker/index.ts index 67047e20e4..a9058f0a84 100644 --- a/packages/components/date-picker/index.ts +++ b/packages/components/date-picker/index.ts @@ -13,3 +13,4 @@ export default _DatePicker export const ElDatePicker = _DatePicker export * from './src/constants' export * from './src/props/date-picker' +export type { DatePickerInstance } from './src/instance' diff --git a/packages/components/date-picker/src/date-picker.tsx b/packages/components/date-picker/src/date-picker.tsx index 90df8992db..36276f20a1 100644 --- a/packages/components/date-picker/src/date-picker.tsx +++ b/packages/components/date-picker/src/date-picker.tsx @@ -18,6 +18,7 @@ import { ROOT_PICKER_INJECTION_KEY } from './constants' import { datePickerProps } from './props/date-picker' import { getPanel } from './panel-utils' +import type { DatePickerExpose } from './instance' dayjs.extend(localeData) dayjs.extend(advancedFormat) @@ -43,7 +44,7 @@ export default defineComponent({ }) const commonPicker = ref>() - const refProps = { + const refProps: DatePickerExpose = { focus: (focusStartInput = true) => { commonPicker.value?.focus(focusStartInput) }, diff --git a/packages/components/date-picker/src/instance.ts b/packages/components/date-picker/src/instance.ts new file mode 100644 index 0000000000..4fcc5476a0 --- /dev/null +++ b/packages/components/date-picker/src/instance.ts @@ -0,0 +1,12 @@ +import type { ComponentPublicInstance } from 'vue' +import type { DatePickerProps } from './props/date-picker' + +export type DatePickerExpose = { + focus: (focusStartInput: boolean) => void + handleOpen: () => void + handleClose: () => void +} +export type DatePickerInstance = ComponentPublicInstance< + DatePickerProps, + DatePickerExpose +>