EasyUI treegrid 实现点击父节点加载子节点

今天在项目中遇到问题,要实现 EasyUI   treegrid 实现点击父节点加载子节点app

第一反应是去百度一下,谷歌一下,发现网上的回答不是懒加载就是在onBeforeExpand调用append方法ui

我决定使用第二种方法,定义treegrid的onBeforeExpand方法,在里面调用appen方法。url

然而当我兴冲冲的运行的时候,出问题了,spa

Firefox出现too much recursion异常提示

在网上看了一下这个问题的出现缘由,你们都说是,非法使用了js关键字,但是我看了几遍代码都没看到关键字。firefox

所以打开 firefox 查看请求记录,发现我每次点击展开节点的时候,firefox会发送两次请求io

一个是我本身发起的 
后台

请求1:  localhost:8080/system/dept/list.do?system_id=0&pid=1  
百度

另外一个是grid

请求2:   localhost:8080/system/dept/list.do?system_id=0&pid=1&id=1请求

但是我没有发起第二个请求啊,我就开始检查代码,去掉了本身发起的请求1,请求2还存在,并且id的值随着我点击的节点不一样而变化,并且是点击的节点的idFileld,而后我默默去掉了treegrid 的url 里面的pid参数,在后台把id转为pid(在Dept类中添加属性id,在controller中把pid赋值为id)

OK! 到了这里我发现easyui会在点击的时候自动发起请求加载子节点,这个请求的特色是在默认url上加上 'idField'='***'

这样就ok啦,根本不用手动调用append。

相关文章
相关标签/搜索