确认删除 (Confirm Delete)
在生产级编辑器或需要严谨性的业务场景中,仅仅因为误触了一个 Delete 或 Backspace 失去配置完备的整片节点集群往往是灾难性的。
默认情况下,yh-flow 的引擎搭载了快捷的键盘按键监听功能。要实现带有前置 UI 确认弹窗的删除拦截操作,我们可以干净利落地关停内置操作并接管控制流。
拦截删除示例
请选中下方的一个或者多个节点,按下删除按钮或键盘上的 Backspace/Delete(鼠标要在区域焦点内)。观察系统是如何弹出原生的窗口来安全提示的。
安全删除工作流
实现策略
- 禁用内部处理:向
<yh-flow>组件传递:keyboard-shortcuts="false"。这可以防止引擎自动处理Delete、Backspace、Ctrl+C等。 - 顶层拦截:将流程组件包装在一个容器中,并添加
@keydown监听器,以捕获您想要拦截的特定按键。确保容器是可聚焦的(例如,使用tabindex="0")。 - 过滤变动:在验证用户意图后(例如,通过 Modal 弹窗),只需过滤您的
nodes和edges数组以移除选中的 ID。响应式机制会自动处理余下的工作。