国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

ExtJS 刷新后如何默認(rèn)選中刷新前最后一次選中的節(jié)點

2019-11-20 20:52:20
字體:
供稿:網(wǎng)友
在對樹節(jié)點進(jìn)行操作后往往需要進(jìn)行reload操作刷新一下樹,但是很多業(yè)務(wù)都需要在樹形刷新后默認(rèn)選中最后一次選中的節(jié)點。這樣就必須先保存前一次選中節(jié)點的信息,在reload之后再次通過節(jié)點的信息進(jìn)行expand逐層展開到這個節(jié)點上。

查詢了好久終于找到一個可行的方案,就是通過節(jié)點的path來記錄節(jié)點的位置信息,然后通過path從root節(jié)點開始逐層展開,直到最后一個節(jié)點。

完成的代碼如下:
首先是extjs3.x版本中的方法:
復(fù)制代碼 代碼如下:

//獲取選中的節(jié)點
var node = tree.getSelectionModel().getSelectedNode();
if(node == null) { //沒有選中 重載樹
tree.getRootNode().reload();
} else { //重載樹 并默認(rèn)選中上次選擇的節(jié)點
var path = node.getPath('id');
tree.getLoader().load(tree.getRootNode(),
function(treeNode) {
tree.expandPath(path, 'id', function(bSucess, oLastNode) {
tree.getSelectionModel().select(oLastNode);
});
}, this);
}

跟Extjs3.0不同Extjs4.2的寫法如下
復(fù)制代碼 代碼如下:

idPath = selNode.getPath("id");
tree.getStore().load({
node: tree.getRootNode(),
callback: function () {
tree.expandPath(idPath, 'id');
}
});

需要注意的是后臺返回的樹的json數(shù)據(jù)時節(jié)點必須包含id屬性,原本我沒有這個屬性,但是我把getPath方法中的參數(shù)改成其他的一個屬性。事實證明這樣是達(dá)不到效果的,最后在json中添加了id屬性才成功的。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 河间市| 临桂县| 古丈县| 桑植县| 吉木萨尔县| 丹阳市| 宁夏| 读书| 晋城| 洞口县| 彭州市| 九江县| 永寿县| 盐山县| 正宁县| 河东区| 承德县| 通城县| 仙桃市| 龙川县| 建始县| 建水县| 永平县| 嘉义市| 永川市| 德化县| 温宿县| 普陀区| 江永县| 密云县| 庆元县| 兴业县| 吴旗县| 安西县| 大理市| 锡林郭勒盟| 土默特左旗| 吴忠市| 丹阳市| 阿拉善左旗| 安庆市|