ztree默认展开上次打开的节点
时间: 2023-10-09 12:16:15 浏览: 70
zTree 可以通过记忆上次展开的节点来实现默认展开上次打开的节点的功能。具体实现方法如下:
1. 设置 zTree 的 cookie 开关为 true:
```javascript
var setting = {
view: {
... // 其他配置项
},
data: {
... // 其他配置项
},
callback: {
... // 其他回调函数
},
// 开启 cookie 记忆功能
view: {
addDiyDom: null,
autoCancelSelected: true,
dblClickExpand: true,
expandSpeed: "fast",
fontCss: {},
nameIsHTML: false,
selectedMulti: true,
showIcon: true,
showLine: true,
showTitle: true,
txtSelectedEnable: false,
// 开启 cookie 记忆功能
rememberSelected: true,
// 设置 cookie 记忆的名称
cookieName: "ztree_cookie"
}
};
```
2. 在页面加载时,初始化 zTree 并获取上次记忆的节点:
```javascript
$(document).ready(function(){
// 初始化 zTree
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
// 获取上次记忆的节点
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
var cookieValue = $.fn.zTree._getCookie(setting.cookieName);
if (cookieValue) {
var expandNodes = cookieValue.split(",");
// 展开上次记忆的节点
zTree.expandAll(false);
for (var i = 0; i < expandNodes.length; i++) {
var node = zTree.getNodeByParam("id", expandNodes[i]);
if (node != null) {
zTree.expandNode(node, true, false, true);
}
}
}
});
```
3. 在节点展开或关闭时,更新 cookie 中保存的节点:
```javascript
var setting = {
view: {
... // 其他配置项
},
data: {
... // 其他配置项
},
callback: {
onExpand: onExpand, // 节点展开时的回调函数
onCollapse: onCollapse // 节点关闭时的回调函数
},
// 开启 cookie 记忆功能
view: {
addDiyDom: null,
autoCancelSelected: true,
dblClickExpand: true,
expandSpeed: "fast",
fontCss: {},
nameIsHTML: false,
selectedMulti: true,
showIcon: true,
showLine: true,
showTitle: true,
txtSelectedEnable: false,
// 开启 cookie 记忆功能
rememberSelected: true,
// 设置 cookie 记忆的名称
cookieName: "ztree_cookie"
}
};
function onExpand(event, treeId, treeNode) {
// 更新 cookie 中保存的节点
var zTree = $.fn.zTree.getZTreeObj(treeId);
var expandNodes = zTree.getNodesByFilter(function(node) {
return node.level > 0 && node.open;
});
var expandNodesId = [];
for (var i = 0; i < expandNodes.length; i++) {
expandNodesId.push(expandNodes[i].id);
}
$.fn.zTree._saveCookie(setting.cookieName, expandNodesId.join(","));
}
function onCollapse(event, treeId, treeNode) {
// 更新 cookie 中保存的节点
var zTree = $.fn.zTree.getZTreeObj(treeId);
var expandNodes = zTree.getNodesByFilter(function(node) {
return node.level > 0 && node.open;
});
var expandNodesId = [];
for (var i = 0; i < expandNodes.length; i++) {
expandNodesId.push(expandNodes[i].id);
}
$.fn.zTree._saveCookie(setting.cookieName, expandNodesId.join(","));
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)