【问题】很多时候,我们需要重新加载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');