修复节点标注在节点激活后无法隐藏问题

This commit is contained in:
wanglin2 2022-05-09 11:31:05 +08:00
parent c15b9be7ef
commit 806be0b537

View File

@ -70,6 +70,7 @@ class Node {
this._hyperlinkData = null this._hyperlinkData = null
this._tagData = null this._tagData = null
this._noteData = null this._noteData = null
this.noteEl = null
this._expandBtn = null this._expandBtn = null
this._lines = [] this._lines = []
// 尺寸信息 // 尺寸信息
@ -444,8 +445,9 @@ class Node {
this.style.iconNode(iconNode) this.style.iconNode(iconNode)
node.add(iconNode) node.add(iconNode)
// 备注tooltip // 备注tooltip
let el = document.createElement('div') if (!this.noteEl) {
el.style.cssText = ` this.noteEl = document.createElement('div')
this.noteEl.style.cssText = `
position: absolute; position: absolute;
padding: 10px; padding: 10px;
border-radius: 5px; border-radius: 5px;
@ -453,16 +455,17 @@ class Node {
display: none; display: none;
background-color: #fff; background-color: #fff;
` `
el.innerText = this.nodeData.data.note }
document.body.appendChild(el) this.noteEl.innerText = this.nodeData.data.note
document.body.appendChild(this.noteEl)
node.on('mouseover', () => { node.on('mouseover', () => {
let { left, top } = node.node.getBoundingClientRect() let { left, top } = node.node.getBoundingClientRect()
el.style.left = left + 'px' this.noteEl.style.left = left + 'px'
el.style.top = top + iconSize + 'px' this.noteEl.style.top = top + iconSize + 'px'
el.style.display = 'block' this.noteEl.style.display = 'block'
}) })
node.on('mouseout', () => { node.on('mouseout', () => {
el.style.display = 'none' this.noteEl.style.display = 'none'
}) })
return { return {
node, node,