## 2020.6.24

### 解决反复删除添加渲染混乱问题

#### 修改文件： process.js

```
export const delNode = (nodeDel, node, arr) => {
  // console.log(nodeDel)
  // 从遍历后数组中删除节点
  var index = findIndex(nodeDel.nodeId, arr)
  arr.splice(index, 1)
  deleteNode(nodeDel, node)
}
// 删除节点
/**
 * @param {*} nodeDel 为需要删除的节点
 * @param {*} node 为完整的节点
 */
export const deleteNode = (nodeDel, node) => {
  var temp = node
  // 没有子节点
  if (nodeDel.childNode == null) {
    nodeDel = null
    return
  }
  // 找到删除节点的父节点
  while (temp != null) {
    // 判断是否是删除节点的父节点
    if (temp.nodeId === nodeDel.prevId) {
      // 将删除节点的子节点指向父节点
      nodeDel.childNode.prevId = node.nodeId
      node.childNode = nodeDel.childNode
      return
    }
    // 循环结束
    if (temp.childNode != null) temp = temp.childNode
  }
}
```

#### 修改 Main.vue:

添加强制刷新

```
    delNode (node) {
      // console.log('删除节点:' + node.properties.actionerRules[0].labelNames)
      delNode(node, this.data1.node, this.items)
      // this.iteratorData(this.data1.node)
      // console.log(this.data1.node)
      // console.log(this.items)
      this.key++
    },
```

```
addnode (node) {
      console.log('添加节点:' + node.nodeId)
      addNewNode(node, this.data1.node, this.items)
      this.key++
    },
```

#### 修改 col-box.vue

添加强制刷新

```
addnode (node) {
      addNewNode(node, this.node1, this.items)
      this.key++
    },
    delNode (node) {
      delNode(node, this.node1, this.items)
      this.key++
    },
```

