gpt4 book ai didi

dom - 如何初始化primeng树组件

转载 作者:行者123 更新时间:2023-12-02 21:00:55 25 4
gpt4 key购买 nike

给定一棵,如何以任意扩展节点的方式初始化它?

我已经尝试使用@ViewChildren(Tree)树获取引用,但在尝试访问他的 child 时导致未定义引用

最佳答案

这是一个基本上模拟沿着树的点击的黑客。我添加了这个解决方案,但我真的希望有人能找到更好的东西。

给定一个带有的组件,我们可以获得对树节点的引用,然后根据需要“单击”它们:

@Component({
selector: 'filemanager',
templateUrl: './filemanager.html',
directives: [Tree]
})
export class FileManagerComponent implements AfterViewInit {

constructor(private renderer:Renderer) {}

ngAfterViewInit() {
setTimeout(() => { // a timeout is necessary otherwise won't find the elements

// get the first "p-tree" tag and find his first "toggler"
let element = document.getElementsByTagName("p-tree")[0].getElementsByClassName("ui-tree-toggler fa fa-fw fa-caret-right")[0];

//"click" the toggler using the angular2 renderer
let event = new MouseEvent('click', {bubbles: true});
this.renderer.invokeElementMethod(element, 'dispatchEvent', [event]);
}, 200);
}

// more methods and state...
}

如果您需要初始化树中更深的节点,则需要嵌套 setTimeout 函数。

关于dom - 如何初始化primeng树组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38285593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com