parent
213c3a4059
commit
9eac1a1da5
|
@ -96,6 +96,7 @@ function PickerTrigger(props: PickerTriggerProps, { slots }) {
|
|||
default: slots.default,
|
||||
popup: slots.popupElement,
|
||||
}}
|
||||
tryPopPortal
|
||||
></Trigger>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -86,6 +86,8 @@ export default defineComponent({
|
|||
autoDestroy: { type: Boolean, default: false },
|
||||
mobile: Object,
|
||||
getTriggerDOMNode: Function as PropType<(d?: HTMLElement) => HTMLElement>,
|
||||
// portal context will change
|
||||
tryPopPortal: Boolean, // no need reactive
|
||||
},
|
||||
setup(props) {
|
||||
const align = computed(() => {
|
||||
|
@ -95,7 +97,7 @@ export default defineComponent({
|
|||
}
|
||||
return popupAlign;
|
||||
});
|
||||
const { setPortal, popPortal } = useInjectTrigger();
|
||||
const { setPortal, popPortal } = useInjectTrigger(props.tryPopPortal);
|
||||
const popupRef = ref(null);
|
||||
const setPopupRef = val => {
|
||||
popupRef.value = val;
|
||||
|
|
|
@ -18,8 +18,10 @@ export const useProviderTrigger = () => {
|
|||
};
|
||||
};
|
||||
|
||||
export const useInjectTrigger = () => {
|
||||
return inject(TriggerContextKey, { setPortal: () => {}, popPortal: false });
|
||||
export const useInjectTrigger = (tryPopPortal?: boolean) => {
|
||||
return tryPopPortal
|
||||
? inject(TriggerContextKey, { setPortal: () => {}, popPortal: false })
|
||||
: { setPortal: () => {}, popPortal: false };
|
||||
};
|
||||
|
||||
export interface PortalContextProps {
|
||||
|
|
Loading…
Reference in New Issue