【问题标题】:ag-Grid onCellEditingStopped event does not provide previous valueag-Grid onCellEditingStopped 事件不提供以前的值
【发布时间】:2018-08-25 05:27:25
【问题描述】:

我正在使用 ag-Grid onCellEditingStopped 事件处理程序来获取网格单元格的更改值。

onCellEditingStopped: function(event) {
    // event.value present the current cell value
    console.log('cellEditingStopped');
}

但它不提供先前的值(更改发生之前的值)。反正有没有得到以前的值?

我目前的解决方案:

我正在使用 onCellEditingStarted 事件将当前单元格值存储在单独的变量中,并在 onCellEditingStopped 事件处理函数中使用该变量。但这不是一个明确的解决方案。

谢谢

【问题讨论】:

  • 我想这是唯一的方法 =)。

标签: javascript html typescript vue.js ag-grid


【解决方案1】:

您可以为该列使用 value Setter 函数,如下所示。

    valueSetter: function (params) {

       console.log(params.oldValue);

       console.log(params.newValue);

       if (params.oldValue !== params.newValue) {
           //params.data["comments"] = params.newValue;
           return true;
       }
       else {
           return false;
       }
    }

【讨论】:

  • params.data["fieldName"] = params.newValue;此行对于代码正常工作至关重要。否则,即使存在“return true”语句,旧值也会再次分配为新值
  • @tnishada 要动态获取它,您需要这一行:params.data[params.colDef.field]
【解决方案2】:

我在我的 Angular 应用程序中使用 onCellEditingStopped 和 agGrid v24.1...,它确实有一个 oldValue 和一个 newValue 值。

onCellEditingStopped = (_params) => {
  if (_params.newValue != _params.oldValue) {
    //  Do something...
  }
}

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 2018-01-12
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 2021-04-17
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多