🐛 fix: resolve tooltip z-index stacking context in ModelSwitchPanel (#12324)

🐛 fix: move TooltipGroup to panel root to fix z-index stacking context
This commit is contained in:
Innei
2026-02-14 18:49:23 +08:00
committed by GitHub
parent bde1503309
commit 7efcdd2f7c
2 changed files with 27 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
import { Flexbox, TooltipGroup } from '@lobehub/ui';
import { Flexbox } from '@lobehub/ui';
import { type FC, type ReactNode } from 'react';
import { useCallback, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
@@ -88,15 +88,13 @@ export const List: FC<ListProps> = ({
height: listHeight,
}}
>
<TooltipGroup>
<Virtuoso
isScrolling={handleScrollingStateChange}
itemContent={itemContent}
overscan={200}
style={{ height: listHeight }}
totalCount={listItems.length}
/>
</TooltipGroup>
<Virtuoso
isScrolling={handleScrollingStateChange}
itemContent={itemContent}
overscan={200}
style={{ height: listHeight }}
totalCount={listItems.length}
/>
</Flexbox>
);
};

View File

@@ -4,6 +4,7 @@ import {
DropdownMenuPositioner,
DropdownMenuRoot,
DropdownMenuTrigger,
TooltipGroup,
} from '@lobehub/ui';
import { memo, useCallback, useState } from 'react';
@@ -35,22 +36,24 @@ const ModelSwitchPanel = memo<ModelSwitchPanelProps>(
);
return (
<DropdownMenuRoot open={isOpen} onOpenChange={handleOpenChange}>
<DropdownMenuTrigger openOnHover={openOnHover}>{children}</DropdownMenuTrigger>
<DropdownMenuPortal>
<DropdownMenuPositioner hoverTrigger={openOnHover} placement={placement}>
<DropdownMenuPopup className={styles.container}>
<PanelContent
extraControls={extraControls}
model={modelProp}
provider={providerProp}
onModelChange={onModelChange}
onOpenChange={handleOpenChange}
/>
</DropdownMenuPopup>
</DropdownMenuPositioner>
</DropdownMenuPortal>
</DropdownMenuRoot>
<TooltipGroup>
<DropdownMenuRoot open={isOpen} onOpenChange={handleOpenChange}>
<DropdownMenuTrigger openOnHover={openOnHover}>{children}</DropdownMenuTrigger>
<DropdownMenuPortal>
<DropdownMenuPositioner hoverTrigger={openOnHover} placement={placement}>
<DropdownMenuPopup className={styles.container}>
<PanelContent
extraControls={extraControls}
model={modelProp}
provider={providerProp}
onModelChange={onModelChange}
onOpenChange={handleOpenChange}
/>
</DropdownMenuPopup>
</DropdownMenuPositioner>
</DropdownMenuPortal>
</DropdownMenuRoot>
</TooltipGroup>
);
},
);