在Extjs 4中,在商店中的新记录将0
作为ID获取,然后再将其同步到服务器。在Extjs 6中,ID 'Mb.model.images.Image-1'
。
Ext.define('Mb.model.images.Image', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'code', type: 'string'},
{name: 'filename', type: 'string'},
{name: 'path', type: 'string'}
]
})
是否可以在Extjs 6中获得旧行为?
我看了identifier: 'sequential'
,但这在客户端分配了一个自动启动ID,该ID将与服务器端分配的ID相撞。
不,不是。 extjs 5 周围的更改要求所有型号具有唯一的ID
。
您可以使用phantom
属性查看是否从未保存过该模型。
此外,代理类知道该模型是否是幻影,并且会根据Phantom标志的状态(创建操作与更新操作)的状态对服务器发出不同的调用。
任何服务器端分配的ID
然后都将覆盖新鲜保存的模型的ID
。