我有一个使用内存代理的商店。商店通过调用该loadRawData
方法获取它的数据。我现在使用 roweditor 和 rowaction 对这些数据进行了一些更改,这导致了脏记录,这似乎是正确的行为,但是这个存储永远无法同步任何数据,那么为什么所有单元格都标有这个红色三角形?
我想我必须在这里监督一些事情。我怎样才能在不丢失修改字段的轨道的情况下保留这些 trinangels?
我正在使用 ExtJS 4.2.1
如果您不希望网格上出现红色小三角形,可以在 viewConfig 中设置以下内容。
markDirty: false
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.view.Table-cfg-markDirty
由于 LUKE 已经回答了这个问题,我将添加一些关于记录的脏标志的附加信息
注意:该
dirty
标志被标记为只读,这是有原因的。
这里至少有一个原因:
所以改变dirty
标志不会有任何影响,因为它发生在这一切之后!所以记录将被标记为脏,例如网格已经用红色三角形标记了所有更改的列。
为了防止记录设置它的dirty
标志,请使用beginEdit()
/endEdit()
块并且不要使用 set 因为set()
总是会设置脏标志。
这是一个反转布尔值并且不影响dirty
标志的示例
record.beginEdit();
record.data.active = !rec.data.active;
record.endEdit();