Dgrid 0.4 和 dstore:更新 UI 中的行而没有放置请求
Dgrid 0.4 and dstore: update row in UI without put request
在 Dgrid 0.3.16 中,我使用了一个 Observable 存储,当存储中的数据发生更改时,我调用了存储通知功能。 (不是 'put' 因为我只需要 UI 更新,这是一个特定的案例)
store.notify(object, existingId);
我现在已经将 Dgrid 升级到 0.4 版并且我正在使用 'dstore' 作为商店。商店是这样创建的:
var store = new declare([ Rest, SimpleQuery, Trackable, Cache, TreeStore ])(lang.mixin({
target:"/ac/api?fetchview",
idProperty:"$uniqueid",
useRangeHeaders: true
}, config));
store.getRootCollection = function (parent, options) {
return this.root.filter({parent: parent.$position},options);
};
store.getChildren = function (parent, options) {
return this.root.filter({parent: parent.$position},options);
};
store.mayHaveChildren = function (item) {
return item.$iscategory;
};
this.collection = store;
如何在不调用 'put' 的情况下更改一行时通知商店?我需要 dGrid 来重新渲染该行。
dstore 遵循的模型更类似于具有 on
和 emit
方法的典型事件驱动方法。 dstore 支持 add
、update
和 delete
事件 - 前两个需要一个引用该项目的 target
属性 对象; delete
事件需要一个带有 id
属性 的对象来引用项目的标识。
因此,要通知更新的项目,请调用 store.emit('update', { target: updatedItem })
。
emit
方法记录在 Store methods, and the types of events are further enumerated in the Collection documentation 下。
在 Dgrid 0.3.16 中,我使用了一个 Observable 存储,当存储中的数据发生更改时,我调用了存储通知功能。 (不是 'put' 因为我只需要 UI 更新,这是一个特定的案例)
store.notify(object, existingId);
我现在已经将 Dgrid 升级到 0.4 版并且我正在使用 'dstore' 作为商店。商店是这样创建的:
var store = new declare([ Rest, SimpleQuery, Trackable, Cache, TreeStore ])(lang.mixin({
target:"/ac/api?fetchview",
idProperty:"$uniqueid",
useRangeHeaders: true
}, config));
store.getRootCollection = function (parent, options) {
return this.root.filter({parent: parent.$position},options);
};
store.getChildren = function (parent, options) {
return this.root.filter({parent: parent.$position},options);
};
store.mayHaveChildren = function (item) {
return item.$iscategory;
};
this.collection = store;
如何在不调用 'put' 的情况下更改一行时通知商店?我需要 dGrid 来重新渲染该行。
dstore 遵循的模型更类似于具有 on
和 emit
方法的典型事件驱动方法。 dstore 支持 add
、update
和 delete
事件 - 前两个需要一个引用该项目的 target
属性 对象; delete
事件需要一个带有 id
属性 的对象来引用项目的标识。
因此,要通知更新的项目,请调用 store.emit('update', { target: updatedItem })
。
emit
方法记录在 Store methods, and the types of events are further enumerated in the Collection documentation 下。