如何初始化primeng树组件

塞尔吉奥

给定一个tree如何以使节点随意扩展的方式初始化它?

我已经尝试获取参考,@ViewChildren(Tree) tree但是undefined在尝试访问他的孩子时会产生参考

塞尔吉奥

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

给定具有的组件,tree我们可以获取的引用treenodes,然后根据需要“单击”它们:

@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函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章