1.封装了一个vue公共方法
export default {
findParentNode: (acceptUnitNodes, ids) => {// acceptUnitNodes树状结构数据,ids当前节点的id
var parentNodes = []// 所有父节点
var forfun = function(id, nodes) {
for (var i = 0; i < nodes.length; i++) {
var currentNode = nodes[i]
if (currentNode.id === id) {
return currentNode.id
} else if (currentNode.children) {
var validNodeId = forfun(id, currentNode.children)
if (validNodeId && parentNodes.indexOf(validNodeId) < 0) {
parentNodes.push(validNodeId)
}
if (validNodeId) {
return currentNode.id
}
}
}
}
var validNodeId = forfun(ids, acceptUnitNodes)
if (validNodeId && parentNodes.indexOf(validNodeId) < 0) {
parentNodes.push(validNodeId)
}
console.info(parentNodes)
return parentNodes
}
}
2.使用:
import publicMethod from '@/app/components/PublicMethod/index.js'
publicMethod.findParentNode(data, id)//data是总数据