zTree控制數(shù)據(jù)展示

一、zTree展示到指定層級的數(shù)據(jù)

1.在項目開發(fā)過程中,組織結構樹只想展示到第三級的數(shù)據(jù),數(shù)據(jù)源的數(shù)據(jù)結構無數(shù)據(jù)層級信息,無奈只能從前端下手。
解決思路:zTree渲染數(shù)據(jù)后每個節(jié)點有層級level,只要遍歷每個節(jié)點,把不要的層級數(shù)據(jù)剔除掉即可。
2.代碼如下:

/**
** zTreeObj,zTree對象
** treeLvl,展示到treeLvl+1級的數(shù)據(jù)
**/
funtion showTreeDataByLvl(zTreeObj, treeLvl) {
    //獲取zTree所有節(jié)點
    var nodes = zTreeObj.transformToArray(zTreeObj.getNodes());
    for (var i = 0; i < nodes.length; i++) {
        if (nodes[i] == treeLvl) {
            //移除指定層級的所有子節(jié)點
            zTreeObj.removeChildNodes(nodes[i]);
        }
    }
}

二、zTree展開到指定層級的數(shù)據(jù)

1.項目開發(fā)過程中,菜單樹有多個層級,想要指定展開到某一級節(jié)點。
2.代碼如下:

/**
** isRoot,是否是根節(jié)點
** zTreeObj,zTree對象
** childNodes,遍及節(jié)點
** treeLvl,zTree展開到treeLvl+2級的數(shù)據(jù)
**/
function showTreeMenuNum(isRoot, zTreeObj, childNodes, treeLvl) {
    if (isRoot) {
        var rootNodes = zTreeObj.getNodes();
        showTreeMenuNum(false, zTreeObj, rootNodes, treeLvl);
    } else {
        if (!isEmpty(childNodes) && !isEmpty((len = childNodes.length)) && len > 0) {
        if(treeLvl < childNodes[0].level) {
            return;
        }
        for (var i = 0; i < len; i++) {
            zTreeObj.expand(childNodes[i], true, false, false, true);
            var child = childNodes[i].children;
            showTreeMenuNum(false, zTreeObj, child , treeLvl);
        }
        }
    }
}

/**
** 判斷給定的對象obj是否為空
**/
function isEmpty(obj) {
    try {
        return typeof(obj) == 'undefined' || null = obj || obj.replace(/\s/g, '') == '';
    } catch (e) {
        return false;
    }
}

3.異步加載數(shù)據(jù)使用如下:

callback : {
    /*樹異步加載成功后操作*/
    onAsyncSuccess :function() {
        //zTreeObj.expandAll(true);
        showTreeMenuNum(true, zTreeObj, zTreeObj, 3);
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,666評論 1 32
  • 程序設計中常使用樹型結構來表征某些數(shù)據(jù)的關聯(lián)關系,如上下級、欄目結構、商品分類、菜單、回復等。 分類的層級關系可以...
    JunChow520閱讀 4,177評論 4 3
  • 他把他的黑色T恤和黑色的鴨舌帽都給她穿戴上,她把頭發(fā)挽起塞進鴨舌帽里,露出白皙頎長的脖子和輪廓分明的下頷骨,五官精...
    零點之前說晚安閱讀 148評論 0 0
  • 當我們使用KVO監(jiān)聽屬性的時候, 屬性必須要寫對,但是這個屬性沒有提示 所以我們想要寫一個自動的提示宏來保證這個屬...
    東方_未明閱讀 1,896評論 1 10
  • 伴隨著悠揚的鐘聲,今晚的能量接收開始了。新的能量音樂,讓我的心更加沉靜,更加放松,沉到內心深處。在悠悠的音樂中自己...
    茗一笑閱讀 210評論 0 0

友情鏈接更多精彩內容