且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ext的treepanel的item判断是否为leaf

更新时间:2022-06-16 14:17:52

上一篇用tree panel的root的中的节点的id值,人为的用其中的字符串的内容,区分是否是叶子节点的做法,是十分外行的。
正确的做法是:(被注释掉的部分是外行的写法)

    agentTreeItemClick: function(dataview, record, item, index, e, eOpts) {
        /*
        var rid = "uselessStr";
           rid = record.raw.id;
        if (rid.indexOf("agent") != -1){
            //包含agent字符串,所以什么也不做
            //Ext.Msg.alert("菜单信息","record.raw.id:"+record.raw.id+"  record.raw.text:"+record.raw.text);
        }else{
            //不包含agent字符串,所以显示
            Ext.Msg.alert("菜单信息","record.raw.id:"+record.raw.id+"  record.raw.text:"+record.raw.text+"  record.raw.leaf:"+record.raw.leaf);
        }
        // dataview.getItemId()显示treePanel拥有的view的itemid
        */

        var bsign = record.raw.leaf;

        if(bsign===true){
            Ext.Msg.alert("测试leaf","record.raw.id:"+record.raw.id+"  record.raw.text:"+record.raw.text+"  record.raw.leaf:"+record.raw.leaf);

        }
    }

也就是说在上述方法fn的方法体中,使用参数record,获取这个值record.raw.leaf,来判断是否为叶节点。