SelectInterface为视图组件添加了数据选择功能
数据元素和视图组件通过selectable属性控制数据是否可以被选中
默认返回数据元素的selectable属性, 可以重载以自定义选中规则
view.isSelectable = function (data) {
return data.get("url") != null;
}
view.select({name:"focus-ui"}); //对象
view.select([{name:"data1"},{name:"data2"}]); //数组
view.select(data1); //z.Data
view.select([data1,data2]); //z.Data数组
view.select({name:"focus-ui"}, true); //累加
view.unselect({name:"focus-ui"}); //对象
view.unselect([{name:"data1"},{name:"data2"}]); //数组
view.unselect(data1); //z.Data
view.unselect([data1,data2]); //z.Data数组
view.clearSelect();
view.selectAll();
view.getSelected();
view.getLastSelected();
view.isSelected(data)
view.onSelectChange(function (evt) {
console.log(evt.type); // type: add/remove/clear/set
console.log(evt.data); // data
});
当设置选中数据时, 如果当前选择不为空, 将首先调用clear方法来清除当前选择, 然后选择指定的数据, 在此过程中, 将快速触发清除和设置两个操作和事件
view.onSelectBatchChange(function (selected) { //selected是当前选中的数据元素列表
console.log(selected)
});