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");
}
});
}
};