我有一个自定义单元格渲染器来删除给定的实体。
function ActionButtonsCellRenderer() {}
ActionButtonsCellRenderer.prototype.init = function(cellRenderParams) {
var tempDiv = document.createElement('div');
var deleteButton = document.createElement("a");
deleteButton.href = "javascript:void(0)";
deleteButton.innerHTML = "<i class='fa fa-trash'></i>";
tempDiv.appendChild(deleteButton);
deleteButton.addEventListener("click",function(){
cellRenderParams.api.updateRowData({remove: [cellRenderParams.data]})
});
this.eGui = tempDiv.firstChild;
};
ActionButtonsCellRenderer.prototype.getGui = function() {
return this.eGui;
};
它实际上从 GUI 中删除了该行。那里没问题。
但是当用户使用以下逻辑添加另一行时;
function addRow() {
var row = {t1 : "test"}
dataSource[dataSource.length] = row;
agGridOptions.api.setRowData(dataSource);
}
删除的行在网格中也再次可见。这意味着dataSource对象没有更新。
我在这里做错了什么?在我的场景中必须更新数据源。
没有我可以使用的双向绑定吗?