工具栏和工具提示的组合导致工具提示出现闪烁

作者: KoenCa创建于 2026年8月21日更新于 2026年9月9日

我有一个用例,我使用工具栏组件, 按钮每个都有工具提示。 当我按入工具栏,然后再次按下退出工具栏时,最后按钮的工具提示会短暂地闪出,而有焦点的按钮的工具提示会在取景口左上方提供.

期待的行为?

当我从工具栏中分出时,最后一个工具提示不应该显示,第一个按钮的工具提示不应该显示在视图端口左上角.

当前的行为

我在 Stackblitz 创建了复制:再复制.

我还做了一个屏幕记录 显示这个问题:

https://GitHub.com/user-attachments/assets/9545fd74-9c56-4142-b848-57cb89be8d82 互联网档案馆的存檔,存档日期2011-12-22.

可能的解决办法

我和大赦国际分析了这个问题,并提出了以下解释和工作。 周围的作品是视觉的,并不解决问题,但至少使其不那么明显.

** 因为**

“ 使用工具栏” Tab 处理器调用“ 焦点管理器。 焦点Last( ) ” , 不返回 `预防缺陷',因此在浏览器将焦点带入前,最后一个控制是集中的。 工具提示的焦点路径立即打开, “ 使用 TooltipTrigger.onFocus” 调用 'state.open( true)', 之后模糊的关闭它, 所以一个打开的,一个关闭的返回 在一个键盘内。

工具提示上覆,然后在触发状态关闭时最终会被提供。 在那种状态下 " 使用OverlayPotions.update Postions " 早在 " !Open " 返回, " 位置 " 是 `位置? 位置? 无效',所以,覆被从未测量。 这才算出 观察到DOM:没有内置位置,没有 " 数据位置 " ,在文件出处被涂上。

节点在节点之后保持活性的方法没有得到确认。 一个候选人是 " 使用ExitAnimation " , 其 " 使用动画 " 的布局效果具有 " 退后,动而上 " 。 三个都稳定了 因此,效果最多在每个出口一次运行,而一个被错过的"on End"会拖住节点.

** 工作**

当“放置”使道具无效时隐藏覆盖,而道具正是 条件“ 挂载但从未测量”。 Aria反应已经将 " 位置 " 作为 " 进入 " 是 " 进入 " 。

时间轴 : <Tooltip class Name {{({放入}}}}}}(放入? "":"隐形")}/>


> 使用`可视性:隐藏',而不是`忽略:无'。 " 更新方案 " 衡量重叠
`GetBoundingClientrect',所以从布局上删除它会给正常位置造成错误
打开路径,其中第一个承诺也有一个框架的“空位”。

> 这抑制了两个演示文稿中错误的工具提示。 它不处理
基础状态, 和最后一个控件的工具提示 仍然短暂地闪出,
因为那个在关闭前是真实的。

https://GitHub.com/user-attachments/assets/d239961f-67a7-4910-a74d-8924f2d24fd

* 背景情况

为了工作,我正在打造一个"暴动"
. . . . . . .

内容来源: adobe/react-spectrum