diff --git a/simple-mind-map/src/constants/defaultOptions.js b/simple-mind-map/src/constants/defaultOptions.js index 5ed0ab24..a1b16186 100644 --- a/simple-mind-map/src/constants/defaultOptions.js +++ b/simple-mind-map/src/constants/defaultOptions.js @@ -215,6 +215,7 @@ export const defaultOpt = { // 函数接收两个参数:key(快捷键)、activeNodeList(当前激活的节点列表) beforeShortcutRun: null, // 移动节点到画布中心、回到根节点等操作时是否将缩放层级复位为100% + // 该选项实际影响的是render.moveNodeToCenter方法,moveNodeToCenter方法本身也存在第二个参数resetScale来设置是否复位,如果resetScale参数没有传递,那么使用resetScaleOnMoveNodeToCenter配置,否则使用resetScale配置 resetScaleOnMoveNodeToCenter: false, // 添加附加的节点前置内容,前置内容指和文本同一行的区域中的前置内容,不包括节点图片部分 createNodePrefixContent: null, diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index be5888d1..6b873284 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -1799,9 +1799,13 @@ class Render { } } - // 移动节点到画布中心 - moveNodeToCenter(node) { - const { resetScaleOnMoveNodeToCenter } = this.mindMap.opt + // 移动节点到画布中心 + // resetScale参数指定是否要将画布缩放值复位为100%,当你没有显式传递时,默认值为undefined,因为实例化选项的resetScaleOnMoveNodeToCenter配置也会决定是否复位缩放,所以当你没有显式传递时使用resetScaleOnMoveNodeToCenter配置,否则使用resetScale配置 + moveNodeToCenter(node, resetScale) { + let { resetScaleOnMoveNodeToCenter } = this.mindMap.opt + if (resetScale !== undefined) { + resetScaleOnMoveNodeToCenter = resetScale + } let { transform, state } = this.mindMap.view.getTransformData() let { left, top, width, height } = node if (!resetScaleOnMoveNodeToCenter) {