ace tree重新加载失败

本文介绍了一种解决ACE框架中Tree组件重复加载失败的方法。通过移除原有Tree元素并重新创建DOM节点,配合定制化的数据加载逻辑实现稳定加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ace中的tree,每次重新加载的时候总是失败。默认第一次加载是成功的。

现在终于重复加载成功,处理方法如下:

直接上代码:

ajaxJsonData = {};   //DataSource
    $("#tree1").remove("");  //tree对应的id

    $("#treeDiv").append("<div id=\"tree1\" class=\"tree\" style=\"display:block\"></div>");  //重新装载


tree加载代码:

/**---- ace tree -----*/
DataSourceTree.prototype.data = function (options, callback) {
    var self = this;
    var $data = null;
    var param = null;

    if (!("name" in options) && !("type" in options)) {
        param = 0;//load the first level  
    }else if ("type" in options && options.type == "folder") {
        if ("additionalParameters" in options && "children" in options.additionalParameters) {
            param = options.additionalParameters["id"];
        }
    }

    if (param != null) {    
        setJsonPropValue(ajaxJsonData,'parentId',param);
        //ajaxJsonData.parentId = param; //设置json的属性和值
        $.ajax({
            url: this.url,
            data: ajaxJsonData,
            type: 'POST',
            dataType: 'json',
            success: function (response) {
                if (response.state == "1")
                    callback({ data: response.treeRespVO.data })
            },
            error: function (response) {
                //console.log(response);
                console.log("---datasource--ajax--error");
            }
        });
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值