【问题标题】:How to render TreeNode after changing node.attributes?更改 node.attributes 后如何渲染 TreeNode?
【发布时间】:2019-08-06 07:35:00
【问题描述】:

我正在更新 Ext.tree.AsyncTreeNode 的属性。更新后,我想在 UI 上呈现更新后的值。该节点已经渲染,如何使用新的更新属性值重新渲染相同的 treeNode?​​p>

我正在为 TreeNode 使用 uiProvider,即 attr.uiProvider = Ext.ux.tree.TreeGridNodeUI

【问题讨论】:

  • 在 ExtJS 6 上,树节点有一个 triggerUIUpdate 方法。还有一个 reload() 方法。见cdn.sencha.com/ext/gpl/3.4.1.1/docs/#!/api/…
  • 感谢@DiegoVictordeJesus。但我正在寻找 extjs3.4 版本。顺便说一句,我在这里得到了类似的解决方案sencha.com/forum/…
  • 请在此处发布您的解决方案,如果它解决了您的问题,请接受它作为答案。

标签: extjs extjs3


【解决方案1】:

function refreshNodeColumns(n)
{
    var t = n.getOwnerTree();
    var a = n.attributes;
    var cols = t.columns;
    var el = n.ui.getEl().firstChild; // <div class="x-tree-el">
    var cells = el.childNodes;
    
    //<div class="x-tree-col"><div class="x-tree-col-text">
    
    for(var i = 1, len = cols.length; i < len; i++)
    {
        var d = cols[i].dataIndex;
        var v = (a[d]!=null)? a[d] : '';
        if (cols[i].renderer) v = cols[i].renderer(v);
        cells[i].firstChild.innerHTML = v;        
    }
}  

【讨论】:

    猜你喜欢
    • 2014-04-19
    • 2021-12-10
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多