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

Loading…
Cancel
Save