Webix Grouplist。如何回到以前开放的状态?

时间:2016-09-26 02:30:08

标签: javascript webix

我正在使用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);
    }
};

1 个答案:

答案 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);
     }