Advertisement

提供一种确保树形图刷新后状态不变的方案

阅读量:

Easyui框架中的treegrid组件提供了一个reload方法,但调用该方法后会导致树形结构的重新初始化,从而使得先前已经展开的节点状态被重置。

期望实现的功能如下:

当用户展开A节点,并在该节点下新增一个B子节点时,即使页面刷新后,A节点仍应保持已展开的状态。

实现思路如下:

treegrid组件中包含一个expand方法,需传入特定节点的ID作为参数,其作用是将对应节点展开。若能记录所有已展开的节点信息,并在treegrid完成reload操作后,首先将所有节点折叠,再依次对已记录的节点进行展开操作,则可实现所需效果。

具体步骤包括:

首先,需要定义一个数组用于存储所有已展开的节点ID。随后,在onBeforeExpand事件触发时,将当前被点击展开的节点ID添加至该数组中。

接着,在onBeforeCollapse事件发生时,从数组中移除对应的被折叠节点ID。

最后,在treegrid组件的onLoadSuccess事件中遍历该数组,并对每个记录的节点执行展开操作即可实现目标。

代码部分:

复制代码
 <script type="text/javascript">

    
 var recordNodes = new Array();//定义一个数组容器记录已被展开的节点ID
    
     $(function () {
    
     $

全部评论 (0)

还没有任何评论哟~