Browse Source

fix: setCellValue API 可设置自定义的属性,不显式设置v, v 不会丢失

master
break-wave 5 years ago
parent
commit
6d45cf2ce6
  1. 13
      src/global/api.js

13
src/global/api.js

@ -113,7 +113,7 @@ export function setCellValue(row, column, value, options = {}) {
return tooltip.info("The order parameter is invalid.", ""); return tooltip.info("The order parameter is invalid.", "");
} }
let data = $.extend(true, [], file.data); let data = file.data;
if(data.length == 0){ if(data.length == 0){
data = sheetmanage.buildGridData(file); data = sheetmanage.buildGridData(file);
} }
@ -147,6 +147,10 @@ export function setCellValue(row, column, value, options = {}) {
} }
else if(value instanceof Object){ else if(value instanceof Object){
let curv = {}; let curv = {};
let cell = data[row][column];
if(isRealNull(cell)){
cell = {};
}
if(value.f!=null && value.v==null){ if(value.f!=null && value.v==null){
curv.f = value.f; curv.f = value.f;
if(value.ct!=null){ if(value.ct!=null){
@ -164,6 +168,9 @@ export function setCellValue(row, column, value, options = {}) {
if(value.v!=null){ if(value.v!=null){
curv.v = value.v; curv.v = value.v;
} }
else {
curv.v = cell.v;
}
if(value.m!=null){ if(value.m!=null){
curv.m = value.m; curv.m = value.m;
} }
@ -175,7 +182,11 @@ export function setCellValue(row, column, value, options = {}) {
if(attr in formatList){ if(attr in formatList){
menuButton.updateFormatCell(data, attr, v, row, row, column, column);//change range format menuButton.updateFormatCell(data, attr, v, row, row, column, column);//change range format
} }
else {
cell[attr] = v;
}
} }
data[row][column] = cell;
} }
else{ else{
if(value.toString().substr(0,1)=="=" || value.toString().substr(0,5)=="<span"){ if(value.toString().substr(0,1)=="=" || value.toString().substr(0,5)=="<span"){

Loading…
Cancel
Save