可以将列的修改分开,而不是在一个事务中完成所有的修改。具体做法如下:
const columnsToUpdate = ["col1", "col2"];
gridOptions.api.applyTransactionAsync({ update: rowData => { const updateData = {}; columnsToUpdate.forEach(column => { if(rowData[column]){ updateData[column] = rowData[column]; } }); if(Object.keys(updateData).length > 0){ return updateData; } return null; }});
在上面的代码中,我们只更新了columnsToUpdate数组中定义的列,并且只传递了包含这些列的对象。
这个解决方法可以防止所有列的值被一次性替换,只更新需要更新的列的值,同时保持其它列的值不变。