easyUI的tree和treeGrid不需要遞歸取,有內置的成樹字段

$.fn.treegrid.defaults.loadFilter = function (data, parentId) {
    var opt = $(this).data().treegrid.options;
    var idFiled, parentField;
    if (opt.parentField) {
        idFiled = opt.idField;
        parentField = opt.parentField;
        var i, l, treeData = [], tmpMap = [];
        for (i = 0, l = data.length; i < l; i++) {
            tmpMap[data[idFiled]] = data;
        }
        for (i = 0, l = data.length; i < l; i++) {
            if (tmpMap[data[parentField]] && data[idFiled] != data[parentField]) {
                if (!tmpMap[data[parentField]]['children'])
                    tmpMap[data[parentField]]['children'] = [];
                tmpMap[data[parentField]]['children'].push(data);
            } else {
                treeData.push(data);
            }
        }
        return treeData;
    }
    return data;
};
 
使用方法,放到公共的JS文件裏面。在配置TREE或者TREEGRID的時候,如下三個屬性必備:
idField: 'tp_id',//子菜單字段名
treeField: 'tp_name',//顯示的字段名
parentField: 'tp_parent',//父菜單字段名
其它的直接參照文檔配置就OK了。
我的最終效果如下。


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