From e3cb7b0a6b23fdfbcea280dad5d2bcc266a63e11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Fri, 5 Jan 2024 13:50:05 +0800 Subject: [PATCH] =?UTF-8?q?Fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=9B=BE=E7=89=87=E6=97=B6=E8=8A=82=E7=82=B9=E8=BF=9E?= =?UTF-8?q?=E7=BA=BF=E7=9A=84=E7=AE=AD=E5=A4=B4=E3=80=81=E5=85=B3=E8=81=94?= =?UTF-8?q?=E7=BA=BF=E7=9A=84=E7=AE=AD=E5=A4=B4=E3=80=81=E6=B8=90=E5=8F=98?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E4=B8=A2=E5=A4=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index efa52dbb..2bde23ce 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -438,14 +438,22 @@ class MindMap { } // 添加必要的样式 clone.add(SVG(``)) - // 修正关联线箭头marker的id - const markerList = svg.find('marker') - if (markerList && markerList.length > 0) { - const id = markerList[0].attr('id') - clone.find('marker').forEach(item => { - item.attr('id', id) - }) - } + // 修正defs里定义的元素的id,因为clone时defs里的元素的id会继续递增,导致和内容中引用的id对不上 + const defs = svg.find('defs') + const defs2 = clone.find('defs') + defs.forEach((def, defIndex) => { + const def2 = defs2[defIndex] + if (!def2) return + const children = def.children() + const children2 = def2.children() + for (let i = 0; i < children.length; i++) { + const child = children[i] + const child2 = children2[i] + if (child && child2) { + child2.attr('id', child.attr('id')) + } + } + }) // 恢复原先的大小和变换信息 svg.size(origWidth, origHeight) draw.transform(origTransform)