gpt4 book ai didi

javascript - 使用 api.updateRowData(transaction) 删除一行对数据源没有影响

转载 作者:行者123 更新时间:2023-12-01 16:19:12 25 4
gpt4 key购买 nike

我有一个自定义单元格渲染器来删除给定的实体。

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 对象没有更新。

我在这里做错了什么? dataSource 必须在我的方案中更新。

没有我可以使用的双向绑定(bind)吗?

最佳答案

要删除选定的行,请使用此代码,

 this.selectedNodes = this.GridOptions.api.getSelectedNodes();                   
this.GridOptions.api.removeItems(this.selectedNodes);
this.GridOptions.api.refreshView();

现在选定的行将被删除。

关于javascript - 使用 api.updateRowData(transaction) 删除一行对数据源没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com