我有一个三级jstree。在进行所有选择后,我调用displayCount()方法,根据选择显示正确的搜索结果计数。现在当我取消选中一个选项时,它会彻底检查所有节点以保持正确的选定结构,然后它应该调用displayCount()方法。但问题是它在取消选中nodes之前已经调用了displayCount()方法。我得错了。方法调用的顺序如下: -
UnchekSelectedNodes(){
// nodes are getting unchecked depends on parent-child relation.
// purely DOM structure update operation.
}
displayCount(){
// ajax call to show proper count based on selected nodes/checkboxes
}
checkForEmptyDiv(){
// if it becomes no selected hide the div.
}
问题是..总是在完成UnchekSelectedNodes()操作之前调用displayCOunt()。我尝试使用方法chainng取决于flag.It不起作用。
任何解决方案??
答案 0 :(得分:0)
你可以在setTimeout中完成...
当我懒惰并且事情以错误的顺序发生时,我只是添加一个超时为1的setTimeout,然后调用所有其他调用并在此之后超时。
UnchekSelectedNodes(){
// nodes are getting unchecked depends on parent-child relation.
// purely DOM structure update operation.
}
displayCount(){
setTimeout(function() {
//just do what ever you want.
}, 1);
}
checkForEmptyDiv(){
// if it becomes no selected hide the div.
}