ant-design-vue/components/vc-select/hooks/useBaseProps.ts

25 lines
727 B
TypeScript

/**
* BaseSelect provide some parsed data into context.
* You can use this hooks to get them.
*/
import type { InjectionKey } from 'vue';
import { inject, provide } from 'vue';
import type { BaseSelectProps } from '../BaseSelect';
export interface BaseSelectContextProps extends BaseSelectProps {
triggerOpen: boolean;
multiple: boolean;
toggleOpen: (open?: boolean) => void;
}
const BaseSelectContextKey: InjectionKey<BaseSelectContextProps> = Symbol('BaseSelectContextKey');
export function useProvideBaseSelectProps(props: BaseSelectContextProps) {
return provide(BaseSelectContextKey, props);
}
export default function useBaseProps() {
return inject(BaseSelectContextKey, {} as BaseSelectContextProps);
}