CheckInterface为视图组件添加了勾选(多选)功能
将组件的checkbox_visible属性设置为true以启用勾选, 数据和视图组件通过checkable属性控制数据是否可以被勾选, Tree/Grid/ListView等通用组件实现了CheckInterface
默认返回数据元素的checkable属性, 可以重载以自定义勾选规则
var list = new z.widget.ListView({
checkbox_visible: true, //授权
isCheckable: function (data) {
return data.get("age") > 10; // 只有age大于10的data可以被勾选.
}
})
var data1 = new z.Data({name: "data1"});
var data2 = new z.Data({name: "data2"});
var data3 = new z.Data({name: "data3"});
var listView = z.widget.ListView({
appendTo: "#listDiv",
checkbox_visible: true,
data: [data1, data2, data3]
});
listView.check(data1); //data1 is checked;
listView.check([data2, data3]); //[data2,data3] are checked, data1 is unchecked
listView.check(data1, true); //[data1,data2,data3] are checked
var data1 = new z.Data({name: "data1"});
var data2 = new z.Data({name: "data2"});
var data3 = new z.Data({name: "data3"});
var listView = z.widget.ListView({
appendTo: "#listDiv",
checkbox_visible: true,
data: [data1, data2, data3]
});
listView.check([data1, data2]); //[data1,data2] are checked;
listView.uncheck(data1); //only data2 checked
var data1 = new z.Data({name: "data1"});
var data2 = new z.Data({name: "data2"});
var data3 = new z.Data({name: "data3"});
var listView = z.widget.ListView({
appendTo: "#listDiv",
checkbox_visible: true,
data: [data1, data2, data3]
});
listView.check([data1, data2]); //[data1,data2] are checked;
listView.clearCheck(); //no checked data
var data1 = new z.Data({name: "data1"});
var data2 = new z.Data({name: "data2", visible: false}); // data2 is not visible.
var data3 = new z.Data({name: "data3"});
var listView = z.widget.ListView({
appendTo: "#listDiv",
checkbox_visible: true,
data: [data1, data2, data3]
});
listView.checkAll(); // data2 is not checked
listView.checkAll(false); // data2 is checked
var data1 = new z.Data({name: "data1"});
var data2 = new z.Data({name: "data2"});
var data3 = new z.Data({name: "data3"});
var listView = z.widget.ListView({
appendTo: "#listDiv",
checkbox_visible: true,
data: [data1, data2, data3]
});
listView.checkAll();
console.log(listView.getChecked()); //[data1,data2,data3]
var data1 = new z.Data({name: "data1"});
var data2 = new z.Data({name: "data2"});
var data3 = new z.Data({name: "data3"});
var listView = z.widget.ListView({
appendTo: "#listDiv",
checkbox_visible: true,
data: [data1, data2, data3]
});
listView.check([data1, data2]);
console.log(listView.isChecked(data1)); //true
console.log(listView.isChecked(data3)); //false
view.onCheckChange(function (evt) {
console.log(evt.type); // type: add/remove/clear/set
console.log(evt.data); // data
});