Extjs TreePanel:如何按类或属性隐藏节点?

Ale*_*x L 2 javascript extjs

我有一个包含任务的节点的树.

已完成的任务具有属性状态:100和类cls:"已完成".

我想制作一个隐藏已完成任务的按钮.

什么函数会通过id或类隐藏树中的节点?

{"id":"45",
"description":"Pay bills",
"status":"100",
"cls":"done",
"uiProvider":"col",
"leaf":true}
Run Code Online (Sandbox Code Playgroud)

Roa*_*rth 7

尝试从根开始走树并测试所需的属性.如果您遇到命中,请隐藏节点:

tree.getRootNode().cascade(function() { // descends into child nodes
    if(this.attributes['status'] == 100) { // test this node
        this.getUI().hide() // hide this node
    }
})
Run Code Online (Sandbox Code Playgroud)

你实际上问过班级的测试"done".在那种情况下,只需测试一下this.attributes['cls'] == 'done'.我更喜欢检查"status","cls"因为后者可以是空间分离和杂乱的.