【前端技術】ztree.js 擴展name自定義格式

場景: 樹的節點名字需要顯示一些額外的信息。比如名字是 阿里雲(100) 100這個是我當前節點的內容之一,目前由於ztree沒有支持render回調函數,沒法拼接內容得到。

下載ztree js源碼,可以知道樹節點的顯示名字是由getNodeName得到,所以出發點就是修改這個函數,修改如下。

 getNodeName: function (setting, node) {
                var text = setting.data.key.nameFormat; 
                if (setting.data.key.nameArray && text) {
                    for (var i=0;i!=setting.data.key.nameArray.length;++i) {
                        text = text.replace("%s",node[setting.data.key.nameArray[i]]);
                    }
                    return text;
                }
                var nameKey = setting.data.key.name;
                return "" + node[nameKey];
            }

使用例子,數組nameArray爲節點內容的key,%s爲對應的替換位置。

  ztree = $.fn.zTree.init($("#treeDemo"), {
        view: {
          showIcon: false
        },
        data:{
          key:{
            nameArray:["name","sum"],
            nameFormat:"%s(%s)"
          }
        },  chooseTree);

修改後壓縮的cdn鏈接:
http://webcenter.oss-cn-hangzhou.aliyuncs.com/ztree/jquery.ztree.core.min.js

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章