DOJO-dijit.Tree(异步树的一种实现方式)

dojo.require("dijit.Tree");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dijit.tree.ForestStoreModel");
dojo.require("dojox.data.JsonRestStore");


//TreeStore

var store = new dojo.data.ItemFileWriteStore({
    url:'',
    labelAttribute: "name"

});


//Tree
var tree = new dijit.Tree({
    region: 'leading',
    splitter:true,
    style: 'width:140px;',
    allowMultiState: true,
    branchIcons: true,
    nodeIcons: true,
    openOnClick : true,
    //persist: false,
    model: new dijit.tree.ForestStoreModel({
        store: store,
        rootId: "0",
        rootLabel: "ROOT",
        childrenAttrs: ["children"]
    })

});

//节点点击事件

tree .set("onClick", function(item, node, event){
    dojo.xhrPost({
        url: 'url',
        sync: true,
        handleAs: 'json',
        content: {
            pid: item.id  //点击的节点ID
        },
        load:function(response){
            var data = response.items;
            //加载子节点
            for(var i=0;i<data.length;i++){
                store.fetchItemByIdentity({
                    identity: data[i].id,
                    onItem: function(i){
                        var parent = {
                            parent: item,
                            attribute: 'children'
                        };
                        store.newItem({
                            id: data[i].id,  //节点ID
                            name: data[i].name  //节点名称
                        }, parent);  //给父节点添加子节点
                    }
                });
            }
        },
        erro:function(error){}
    });
});


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值