Kendo MVVM 取消对 ObservableObject 的更改
Kendo MVVM Cancel Changes to ObservableObject
我是 Kendo 的新手,在 ObservableObject 和 ObservableArray 上是否有类似 Kendo DataSouce 的 cancelChanges 方法?
https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/methods/cancelchanges
我使用 data-bind="source: Products" 将视图绑定到 ObservableObject,其中 products 是一个 ObservableObject。我想在此 ObservableObject 中提供一个取消功能(绑定到视图上的 'close' 按钮),单击该对象时必须取消更改。
Products = kendo.observable({
cancel: function(e) {...} //undo changes here...
});
不,没有这样的内置机制。Kendo 不会跟踪所做的更改,因此您需要自己进行。最简单的方法是在开始时获取 Products 或其包含的数据的副本。要还原任何更改,您可以将 Products 或其中的数据设置回您在开始时获取的副本。如果您 'save' 更改,请更新副本,以便用户可以进行进一步更改,然后取消回到他们 'saved'.
的最后一点
您可以使用 Datasource
并将其绑定到您的 ViewModel
,因此您可以使用 DataSource
的内置功能,例如 cancelChanges
。
关注 this link 它可能会给您带来启发。
我是 Kendo 的新手,在 ObservableObject 和 ObservableArray 上是否有类似 Kendo DataSouce 的 cancelChanges 方法? https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/methods/cancelchanges
我使用 data-bind="source: Products" 将视图绑定到 ObservableObject,其中 products 是一个 ObservableObject。我想在此 ObservableObject 中提供一个取消功能(绑定到视图上的 'close' 按钮),单击该对象时必须取消更改。
Products = kendo.observable({
cancel: function(e) {...} //undo changes here...
});
不,没有这样的内置机制。Kendo 不会跟踪所做的更改,因此您需要自己进行。最简单的方法是在开始时获取 Products 或其包含的数据的副本。要还原任何更改,您可以将 Products 或其中的数据设置回您在开始时获取的副本。如果您 'save' 更改,请更新副本,以便用户可以进行进一步更改,然后取消回到他们 'saved'.
的最后一点您可以使用 Datasource
并将其绑定到您的 ViewModel
,因此您可以使用 DataSource
的内置功能,例如 cancelChanges
。
关注 this link 它可能会给您带来启发。