今天在項目中遇到問題,要實現 EasyUI treegrid 實現點擊父節點加載子節點app
第一反應是去百度一下,谷歌一下,發現網上的回答不是懶加載就是在onBeforeExpand調用append方法ui
我決定使用第二種方法,定義treegrid的onBeforeExpand方法,在裏面調用appen方法。url
然而當我興沖沖的運行的時候,出問題了,spa
在網上看了一下這個問題的出現緣由,你們都說是,非法使用了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。