我正在使用webix grouplist来显示一些分层数据。数据集更改后,我需要将组列表的状态返回到先前打开的状态
我找到了如何保存开放状态的方法 - getOpenState(),但似乎在他们的API中没有类似setOpenState()的方法。
这是获得开放状态的方法:
webix.ui({
view:"grouplist",
data:[ //hierarchical JSON dataset
{id:"root", value:"Films data", open:true, data:[
{ id:"1", open:true, value:"The Shawshank Redemption", data:[
{ id:"1.1", value:"Part 1" },
{ id:"1.2", value:"Part 2", data:[
{ id:"1.2.1", value:"Page 1" },
{ id:"1.2.2", value:"Page 1" }
]},
{ id:"1.3", value:"Part 3" }
]},
{ id:"2", open:true, value:"The Godfather", data:[
{ id:"2.1", value:"Part 1" }
]}
]}
});
var state = $$('grouplist1').getOpenState();
if(state){
result = JSON.stringify(state);
webix.message(result);
}
};
答案 0 :(得分:1)
嗯,解决方案很简单:
1.点击获取项目ID。
onItemClick: function (id, e, node) {
setTimeEntry(this.getItem(id));
webix.storage.local.put("id", id);
}
2。使用方法.showItem(id)
onAfterLoad: function () {
this.hideOverlay();
checkOptions();
var itemId = webix.storage.local.get("id");
if (itemId !== null && itemId !== undefined)
this.showItem(itemId);
}