如何在 Angular UI-Grid 中将添加的行设置为脏行


有很多

方法可以在编辑时设置脏行。我需要在将其添加到网格时将行设置为脏污。这是我到目前为止所拥有的:

$scope.gridOptions.data.push(someNewRow); //this new row is imported from some external source

一种选择是使用 rowEdit 中的函数将行设置为脏,但它需要一个 rowEntity 对象。我可以这样做:

var newRowsEntityObject = ____? // I would need this
$scope.gridApi.rowEdit.setRowsDirty([newRowsEntityObject]);

但是我需要为我添加的新行获取一个 rowEntity 对象。如果我最初的方向不起作用,欢迎其他想法来使其工作。

啊,开枪。没有清楚地阅读 setRowsDirty 的文档:

如果您刚刚将行插入到数据中,则需要等待一个$digest周期才能出现 gridRows - 因此您通常会将此调用包装在$interval或$timeout

所以我做到了:

$interval(function () {
    $scope.gridApi.rowEdit.setRowsDirty(myNewRows);
}, 0, 1);

正如他们建议的那样,它工作得很好...

最新更新