您不需要新建Values 属性,就直接用value保存值就好了。
因为复制的时候,celltype时同一个,所以values是公用的大家都一样。
可以用getValue获取到oldvalue
- CheckboxButtonCellType.prototype.processMouseUp = function (hitInfo) {
- var sheet = hitInfo.sheet;
- if (sheet && hitInfo.isReservedLocation && hitInfo.reservedLocation >= 0) {
- var row = hitInfo.row, col = hitInfo.col, sheetArea = hitInfo.sheetArea;
- var newValue = this._items[hitInfo.reservedLocation];
- //根据checkbox机制,点击时切换选中状态,那么值存在应该移除它,不存在应该添加它 by wgq
- //获取原始value进行改变。
- var oldValues = sheet.getValue(row, col, sheetArea);
- var newValues = oldValue;
- var vindex = oldValues.indexOf(newValue);
- if (vindex>-1) {
- //说明值存在,移除它
- newValues.splice(vindex, 1);
- } else {
- newValues.push(newValue);
- }
- var cellEditInfo = { row: row, col: col, newValue: newValues };
- var undoAction = new spreadNS.UndoRedo.CellEditUndoAction(sheet, cellEditInfo);
- sheet.doCommand(undoAction);
- return true;
- }
- return false;
- };
复制代码 |