今天遇到一个问题,由于avue-tree和avue-input-tree的不同filter-node-method能获取到的参数也就不同。avue-tree的filter-node-method参数只有两个并不包含node参数,所以此时只需要在自定义方法中通过this.$refs.myTree.getNode(data)获取到node就行
<avue-tree
ref="myTree"
:filter-node-method="filterTreeNode"
:option="treeOption"
:data="treeData"
@node-click="nodeClick">
</avue-tree>
filterTreeNode(value, data) {
const node = this.$refs.myTree.getNode(data);
if (!value) return true
let parentNode = node.parent //获取父节点
let labels = [node.label] // 获取节点名称
let level = 1 //定义等级
while (level < node.level) {
labels = [...labels, parentNode.label]
parentNode = parentNode.parent
level++
}
return labels.some(label => label.indexOf(value) !== -1)
},