问题来源
bpmnjs使用
keyboard: { bindTo: document }
可以实现快捷键,快捷键方式有:
-
ctrl + z : 撤销
-
ctrl + y : 恢复
-
ctrl + c : 复制
-
ctrl + v : 粘贴
-
ctrl + + : 放大
-
ctrl + - : 缩小
-
ctrl + 0 : 恢复
-
ctrl + del : 删除
-
ctrl + 箭头 : 上下左右移动
但是在实际应用中:
绘制流程的面板组件(快捷键使用的是bpmnjs的快捷键)和属性添加的面板(使用的是系统本身的快捷键)会出现冲突
具体情境描述:
bpmnjs开启了快捷键。
属性添加面板对某个输入框的内容进行复制,点击绘制流程的面板中某个组件,对其某个输入框进行粘贴,发现却在绘制面板中进行了组件复制!
解决办法
bpmnjs提供了手动开启/关闭快捷键的方式
//开启快捷键
modeler.get('keyboard').bind(document);
//关闭快捷键
modeler.get('keyboard').unbind();
点击绘制面板容器内任何地方时,开启快捷键
点击属性添加面板任何地方时,关闭快捷键
另外:有关bpmnjs的问题,国内资料较少,可以浏览bpmn的交流论坛 大部分的问题都能找到。