Skip to content

fix: 使用 Portal 修复 At 命令面板在全屏输入时定位异常#45

Merged
lulu-sk merged 1 commit intomasterfrom
fix/at-palette-portal
Nov 4, 2025
Merged

fix: 使用 Portal 修复 At 命令面板在全屏输入时定位异常#45
lulu-sk merged 1 commit intomasterfrom
fix/at-palette-portal

Conversation

@lulu-sk
Copy link
Copy Markdown
Owner

@lulu-sk lulu-sk commented Nov 4, 2025

修改 AtCommandPalette 组件,使用 createPortal 将面板渲染到 document.body, 避免在具有 transform/filter/backdrop-filter 或滚动容器的祖先元素下, 造成 position: fixed 参考系异常(特别是全屏输入遮罩场景)。

主要变更:

  • 导入 react-dom 的 createPortal
  • 将面板 JSX 先存储到 panel 变量
  • 使用 createPortal 将面板渲染到 body
  • 添加安全检查和降级处理

修改 AtCommandPalette 组件,使用 createPortal 将面板渲染到 document.body,
避免在具有 transform/filter/backdrop-filter 或滚动容器的祖先元素下,
造成 position: fixed 参考系异常(特别是全屏输入遮罩场景)。

主要变更:
- 导入 react-dom 的 createPortal
- 将面板 JSX 先存储到 panel 变量
- 使用 createPortal 将面板渲染到 body
- 添加安全检查和降级处理

Signed-off-by: Lulu <58587930+lulu-sk@users.noreply.github.com>
@lulu-sk lulu-sk self-assigned this Nov 4, 2025
@lulu-sk lulu-sk merged commit fe8664f into master Nov 4, 2025
4 checks passed
@lulu-sk lulu-sk deleted the fix/at-palette-portal branch November 4, 2025 03:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant