0:00 / 0:00
Command-MenuMicro-interaction
锚定滚动
Raycast 使用滚动阈值进行列表导航。选择项向下移动到特定点,然后锁定在该位置,同时列表滚动,提供稳定的视觉锚点,并在到达末尾时清晰地感知边界。
在长列表中按下箭头键。起初,什么都不滚动,只有高亮项在移动。
继续向下。大约在视口的 70% 处,某些东西发生了变化。高亮项锁定在原地,现在世界开始移动。列表在你锚定的光标下向上滚动。直到结束时,它再次释放,让你落在最后一项上。
三个状态。一个手势。完美。
这应该在任何 CMDK 菜单中实现。
为什么有效
- 渐进式参与:界面不会立即滚动。这减少了小范围局部导航(例如,向下移动两到三项)时的干扰运动。只有当用户表现出进一步导航的意图时,才会进行更具干扰性的全列表滚动。
- 稳定的空间锚点:“锁定”阈值作为用户眼睛的可预测锚点。在长时间滚动中,你不必追踪一个移动的目标;你确切知道该看哪里。这使得扫描长列表显著更快且要求更低。
- 触觉反馈与终结感:最后一项的“停靠”提供了一个清晰、物理感的结束点。没有模糊性。从滚动状态(列表移动)到选择状态(高亮项移动)的过渡以绝对清晰度标示了边界。
何时使用此功能
- 在可能有长列表的键盘驱动界面中,如命令调色板、搜索结果或文件浏览器。
- 当短距离(调整 1-2 项)和长距离(向下滚动很远)导航都很常见时。
- 对于具有固定高度项的列表,这使得滚动和锚定感觉一致且精确。






