【問題】很多時候,我們需要重新加載tree數據,不僅僅是簡單地刷新,更多的是重定向了URL,其中就包括參數的調整。
moduleTree = $('#tree').tree({ queryParams: { roleId: 0, roleName: '' }, url: '/Sys/Module/GetRoleModules', checkbox: true })
一般地,我們執行下列一句話可以刷新,
moduleTree.tree('reload');
但是,當我們需要更改參數queryParams 時,怎么做呢?我想,有一部分和我一樣的coder會采用下列幾種方式,但都未能成功刷新。
第一種,執行結果是:后端無反應。
var params = { roleId: selected.Id, roleName: selected.Name }; moduleTree.tree('reload',params);
第二種,執行結果是:參數未能成功更新,返回還是以前的數據結果。
var params = { roleId: selected.Id, roleName: selected.Name }; moduleTree.queryParams = params; moduleTree.tree('reload');
【解決方案】
var params = { roleId: selected.Id, roleName: selected.Name }; moduleTree.tree("options").queryParams = params; moduleTree.tree('reload');