在在窗格上放下连接线后保留连接线可见的选项
顿! 首先,感谢您在xyflow上所做的惊人的工作——很高兴与您一起建设.
我想建议一个小型的增强,我认为可以让许多用户建立以节点为基础的编辑器.
使用大小写
节点编辑器中非常常见的UX图案是:
- 用户从源控件拖取
- 坠入窗帘空地
- 上下文菜单似乎选择了节点类型
- 创建一个新的节点并自动连接源头
这与现有的 " 连接端 " + " isDropOnPane " 模式(谢谢!)大相径庭。 然而,有一个小的UX漏洞:当用户释放鼠标时,ConnectionLine会立即消失,尽管上下文菜单仍然开放. 用户在浏览菜单选项时会失去* * 的视觉上下文 。
如果有一个选项可以让"连接线"保持可见,直到开发者明确驳回它——比如在节点创建后或菜单被取消后,那将会是美妙的.
当前的行为
从手柄上拖动 ~ 丢入窗格上 ~ 连接线消失 ~ 打开上下文菜单 ~渴望的行为
从手柄上拖动 ~ 丢入相框 ~ 连接线保持可见 ~ 打开上下文菜单
+ 用户选择节点类型 + 节点创建 + 边缘连接 + 连接线通过 API 解禁-- -- . . .
□ 建议的API
- 核心:通过
使用SvelteFlow()'进行终止()'展览
我注意到,内部商店( " Svelte FlowStore Actions " )已经存在 " 终止() " ,但没有通过公众 " 使用SvelteFlow() " 钩子被曝光。
如果这被曝光,开发者可以在ConnectLine被解禁时完全控制——不仅针对这个使用案例,而且针对任何需要人工连接状态管理的情况.
** 用户实例:**
const {取消连接 } = 使用 SvelteFlow ();
/ 请检查url=值 (帮助). 在连接端中: 投放窗格时保持连接活性 函数 handleConnect End(事件,参数){ 如果 (params.is.DropOnPane) { 显示 ContextMenu( params); // 连接行会保留, 因为我们不重设它 返回; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
// 当上下文菜单关闭时解散( 节点创建或取消) 函数在 ContextMenuClose () 上 { 取消连接 (); // 连接线已消失 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
// 也因逃逸密钥被开除 函数在KeyDown(e){ 如果( 例如键 QQ “ 逃逸 ”) 取消连接( E) ; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
* 选择性增强:`PaneDrop上的持久性连接 ' 道具
对于一个更具宣示性的方法,道克可以告诉xyflow在用户掉入窗格时跳过自动连接重置:
丝绒
< svelteFlow 持续连接 PaneDrop > True >
. . . . . . . .
</丝绒花>这样,ConnectLine会自动地坚持在被放出面板上,开发者会使用"cancelConnection ()"在准备完毕后解除. 如果没有这种道具,xyflow当前的行为将保持不变(完全后向相容).
-- -- . . .
□ 关于内部执行的说明
从源头来看,似乎 . . . . . . .
内容来源: xyflow/xyflow