在工作中前端用的Extjs 其中gridpanel 在多选有选择框的时候,前后翻页后,勾选的数据不保留。
Ext.define("extGridSel", {
extend: "Ext.grid.Panel",
xtype: "gridSel",
selModel: {
injectCheckbox: 0,
mode: "SIMPLE", //"SINGLE"/"SIMPLE"/"MULTI"
checkOnly: false, //只能通过checkbox选择
pruneRemoved: false,
onHeaderClick: function (headerCt, header, e) {
isChecked = false;
if (header.isCheckerHd) {
e.stopEvent();
var me = this,
isChecked = header.el.hasCls(Ext.baseCSSPrefix + 'grid-hd-checker-on');
me.preventFocus = true;
if (isChecked) {
for (var i = 0; i < this.store.data.items.length; i++) {
this.deselect(this.store.data.getAt(i), null);
}
} else {
me.selectAll();
header.el.addCls(Ext.baseCSSPrefix + 'grid-hd-checker-on');
}
delete me.preventFocus;
}
}
},
selType: "checkboxmodel",
}
pruneRemoved 为false可以保持翻页勾选记录,onHeaderClick 解决在翻页后,如果前页有全选情况,点击当前页的全选,全选框没有失效情况