修改后即使保留原始值也是如此

时间:2018-05-29 10:40:34

标签: javascript angular typescript ag-grid

我正在研究Ag-grid。

this.rowData是我第一次在网格上加载的原始数据。

我有一个addRow函数,它会在现有行的顶部添加1行,效果很好。

现在调用reset函数时,我需要将网格更新为原始数据this.rowData

问题是,当我点击addRow时,即使this.rowData也会更新。

以下是我的代码:

Original Data:
 this._Service.httpPost(Request, Url).subscribe(data => {
        responseJson = JSON.parse(JSON.stringify(data));
          this.rowData = responseJson;
          this.gridOptions.api.setRowData(this.rowData); // say 6 rows displyed
});

addRow:
addRow() {
let rowData = this.rowData; // created a local variable
 rowData.unshift(newData);// rowData is now 7
 this.gridOptions.api.setRowData(rowData);// rowData is now 7
console.log(this.rowData) // returns 7, not sure why `this.rowData` gets modified
    }

1 个答案:

答案 0 :(得分:1)

让rowData = JSON.parse(JSON.stringify(this.rowData));

这样做的其余代码就完美了。