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