diff --git a/simple-mind-map/src/constants/defaultOptions.js b/simple-mind-map/src/constants/defaultOptions.js index 86e7a0f5..3f63971c 100644 --- a/simple-mind-map/src/constants/defaultOptions.js +++ b/simple-mind-map/src/constants/defaultOptions.js @@ -307,7 +307,7 @@ export const defaultOpt = { /* { // 返回要添加的DOM元素详细 - create: (node) => { + create: (node) => { return { el, // DOM节点 width: 20, // 宽高 @@ -316,7 +316,7 @@ export const defaultOpt = { }, // 处理生成的@svgdotjs/svg.js库的ForeignObject节点实例,可以设置其在节点内的位置 handle: ({ content, element, node }) => { - + } } */ @@ -518,5 +518,9 @@ export const defaultOpt = { // 默认为内置图标,你可以传递一个svg字符串,或者其他的html字符串 // 整体大小请使用上面的minImgResizeWidth和minImgResizeHeight选项设置 customDeleteBtnInnerHTML: '', - customResizeBtnInnerHTML: '' + customResizeBtnInnerHTML: '', + + // NewAdd + customNewNodeParams: null, + } diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 43561942..00481cc6 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -871,14 +871,23 @@ class Render { if (alreadyIsRichText && params.resetRichText) { delete params.resetRichText } + let nodeData = { + text: text, + uid: createUid(), + // ...this.mindMap.opt.customNewNodeParams, + ...params, + ...(appointData || {}) + } + if ( typeof this.mindMap.opt.customNewNodeParams === 'function'){ + const return_value = this.mindMap.opt.customNewNodeParams() + nodeData = { + ...nodeData, + ...return_value + } + } const newNode = { inserting, - data: { - text: text, - uid: createUid(), - ...params, - ...(appointData || {}) - }, + data: nodeData, children: [...createUidForAppointNodes(appointChildren, createNewId)] } createNewId = true