From 58a3faae74310a26b94ee9b28d4d96acb8a756a5 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: Wed, 6 Mar 2024 11:09:38 +0800 Subject: [PATCH] =?UTF-8?q?Fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=8D=8F?= =?UTF-8?q?=E5=90=8C=E7=BC=96=E8=BE=91=E6=8F=92=E4=BB=B6=EF=BC=9A=E5=BD=93?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E4=B8=80=E4=B8=AA=E8=8A=82=E7=82=B9=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=86=8D=E5=B0=86=E8=AF=A5=E8=8A=82=E7=82=B9=E6=94=B6?= =?UTF-8?q?=E8=B5=B7=EF=BC=8C=E8=AF=A5=E8=8A=82=E7=82=B9=E6=BF=80=E6=B4=BB?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=B7=B2=E6=B6=88=E5=A4=B1=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=AF=A5=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E7=9A=84=E9=80=89=E4=B8=AD=E7=8A=B6=E6=80=81=E4=BE=9D?= =?UTF-8?q?=E6=97=A7=E5=AD=98=E5=9C=A8=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/src/core/render/node/Node.js | 1 + simple-mind-map/src/core/render/node/nodeCooperate.js | 9 ++++++++- simple-mind-map/src/plugins/Cooperate.js | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/simple-mind-map/src/core/render/node/Node.js b/simple-mind-map/src/core/render/node/Node.js index f8c595c6..c3c5d8ca 100644 --- a/simple-mind-map/src/core/render/node/Node.js +++ b/simple-mind-map/src/core/render/node/Node.js @@ -715,6 +715,7 @@ class Node { // 销毁节点,不但会从画布删除,而且原节点直接置空,后续无法再插回画布 destroy() { if (!this.group) return + this.emptyUser() this.resetWhenDelete() this.group.remove() this.removeGeneralization() diff --git a/simple-mind-map/src/core/render/node/nodeCooperate.js b/simple-mind-map/src/core/render/node/nodeCooperate.js index 970dfb2c..f2ab9c8d 100644 --- a/simple-mind-map/src/core/render/node/nodeCooperate.js +++ b/simple-mind-map/src/core/render/node/nodeCooperate.js @@ -94,11 +94,18 @@ function removeUser(userInfo) { this.updateUserListNode() } +// 清空用户 +function emptyUser() { + this.userList = [] + this.updateUserListNode() +} + export default { createUserListNode, updateUserListNode, createTextAvatar, createImageAvatar, addUser, - removeUser + removeUser, + emptyUser } diff --git a/simple-mind-map/src/plugins/Cooperate.js b/simple-mind-map/src/plugins/Cooperate.js index 48183650..9923f345 100644 --- a/simple-mind-map/src/plugins/Cooperate.js +++ b/simple-mind-map/src/plugins/Cooperate.js @@ -233,6 +233,7 @@ class Cooperate { // 设置当前数据 const data = Array.from(this.awareness.getStates().values()) this.currentAwarenessData = data + this.waitNodeUidMap = {} walk(data, (uid, node, userInfo) => { // 不显示自己 if (userInfo.id === this.userInfo.id) return