diff --git a/lib/picker/src/component/picker-menu.tsx b/lib/picker/src/component/picker-menu.tsx index d6f9984c9f..5768969e22 100644 --- a/lib/picker/src/component/picker-menu.tsx +++ b/lib/picker/src/component/picker-menu.tsx @@ -38,6 +38,10 @@ export class PickerMenu extends PickPop { return this._menu.current; } + get picker() { + return this.props.picker; + } + componentDidMount(): void { super.componentDidMount(); if (this._firstSelected === undefined) { diff --git a/lib/picker/src/component/picker.tsx b/lib/picker/src/component/picker.tsx index dc1f8a6304..d9e8dbdafe 100644 --- a/lib/picker/src/component/picker.tsx +++ b/lib/picker/src/component/picker.tsx @@ -331,6 +331,7 @@ export class Picker, state: Readonly): PickerMenuProps { return { ...super._getPopProps(props, state), + picker: this as unknown as Picker, menu: props.menu, tree: props.tree, checkbox: props.checkbox, diff --git a/lib/picker/src/types/picker-menu-props.ts b/lib/picker/src/types/picker-menu-props.ts index 8ffc4de5b8..e1aaedf9cb 100644 --- a/lib/picker/src/types/picker-menu-props.ts +++ b/lib/picker/src/types/picker-menu-props.ts @@ -3,6 +3,7 @@ import type {TreeOptions} from '@zui/tree'; import type {PickPopProps} from '@zui/pick'; import type {CustomContentType} from '@zui/core'; import type {PickerState} from './picker-state'; +import type {Picker} from '../component/picker'; export interface PickerMenuProps extends PickPopProps { multiple?: boolean | number; @@ -15,6 +16,7 @@ export interface PickerMenuProps extends Pi footer?: CustomContentType; noMatchHint?: string; maxItemsCount?: number; + picker?: Picker; onSelect: (values: string | string[]) => void; onDeselect: (values: string | string[]) => void;