<el-tree
ref="treeRef"
:props="props"
node-key="id"
:load="loadNode"
:expand-on-click-node="false"
@node-click="nodeClick"
highlight-current
lazy
draggable
@node-drop="handleDrop"
> </el-tree>
// 关键方法为node-click
currentNode: null // 注意要将currentNode初始值定义为null,不能是{}, 否则判断会有问题
// node: 节点的详细数据 treeNode:树生成的节点信息,包含node
nodeClick(node: any, treeNode: any, e: any) {
if (this.currentNode && this.currentNode.name === node.name) {
treeNode.checked = !treeNode.checked
} else {
treeNode.checked = true
}
if (treeNode.checked) {
// 选中
this.currentNode = node
} else {
// 取消选中
this.$refs.treeRef.setCurrentKey(null)
this.currentNode = null
}
},
技术栈: vue2.0 + ts + element2.14.1