diff --git a/simple-mind-map/package-lock.json b/simple-mind-map/package-lock.json index 4d6d5222..ada72834 100644 --- a/simple-mind-map/package-lock.json +++ b/simple-mind-map/package-lock.json @@ -1,11 +1,11 @@ { "name": "simple-mind-map", - "version": "0.9.8", + "version": "0.10.0-fix.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.9.8", + "version": "0.10.0-fix.1", "license": "MIT", "dependencies": { "@svgdotjs/svg.js": "^3.0.16", diff --git a/simple-mind-map/src/constants/defaultOptions.js b/simple-mind-map/src/constants/defaultOptions.js index 6479e9b3..5ed0ab24 100644 --- a/simple-mind-map/src/constants/defaultOptions.js +++ b/simple-mind-map/src/constants/defaultOptions.js @@ -250,6 +250,9 @@ export const defaultOpt = { cloneNodeOpacity: 0.5, // 跟随鼠标移动的克隆节点或矩形的透明度 beingDragNodeOpacity: 0.3 // 被拖拽节点的透明度 }, + // 拖拽单个节点时会克隆被拖拽节点,如果想修改该克隆节点,那么可以通过该选项提供一个处理函数,函数接收克隆节点对象 + // 需要注意的是节点对象指的是@svgdotjs/svg.js库的元素对象,所以你需要阅读该库的文档来操作该对象 + handleDragCloneNode: null, // 【Watermark插件】 // 水印配置 diff --git a/simple-mind-map/src/plugins/Drag.js b/simple-mind-map/src/plugins/Drag.js index 4aaa72bb..9aa7e612 100644 --- a/simple-mind-map/src/plugins/Drag.js +++ b/simple-mind-map/src/plugins/Drag.js @@ -282,7 +282,8 @@ class Drag extends Base { dragMultiNodeRectConfig, dragPlaceholderRectFill, dragPlaceholderLineConfig, - dragOpacityConfig + dragOpacityConfig, + handleDragCloneNode } = this.mindMap.opt const { width: rectWidth, @@ -311,6 +312,9 @@ class Drag extends Base { expandEl.remove() } this.mindMap.otherDraw.add(this.clone) + if (typeof handleDragCloneNode === 'function') { + handleDragCloneNode(this.clone) + } } this.clone.opacity(dragOpacityConfig.cloneNodeOpacity) this.clone.css('z-index', 99999)