我有一个树文件夹结构,我使用Fancytree在网页中显示,并使用lazyLoad选项显示文件夹ondemand的内容。这在第一次正常工作,但如果文件夹下没有项目,并且展开时,由于没有项目,展开/折叠的图标将消失。当我在空文件夹中创建一些文件夹时,我没有办法再次触发ajax调用以显示新内容。知道如何实现这一目标吗?
$("#officialTreeView").fancytree({
extensions: ["table"],
aria: true,
source: {
url: "myurl/jsonoutput",
data: {key: "1" },
cache: false
},
lazyLoad: function(event,data) {
var node = data.node;
//data.node.load(true);
// Issue an ajax request to load child nodes
data.result = { cache:false, url: "myurl/jsonoutput", data: {key: node.key } }
},
renderColumns: function(event, data) {
var node = data.node,
$tdList = $(node.tr).find(">td");
//console.log(node);
$tdList.eq(1).text(node.data.childcount);
}
});
答案 0 :(得分:2)
您可以拨打node.resetLazy()
或node.load(true)
(例如,当节点折叠时)。
有关方法的完整列表,请参阅http://wwwendt.de/tech/fancytree/doc/jsdoc/FancytreeNode.html。
答案 1 :(得分:0)
即只需将崩溃的事件处理程序添加到您的配置
collapse: function(event, data){
data.node.resetLazy();
},