新记录获得一个自动生成的 id 值。如何像 ExtJs 4 那样获取 0 作为新 ID?

New records get an autogenerated id value. How to get 0 as a new id as in ExtJs 4?

在 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 冲突。

不,不是。 ExtJS 5 围绕会话的变化要求所有模型都具有唯一的 ID.

您可以使用phantom 属性查看模型是否从未保存过。

此外,代理 class 知道模型是否是幻影,并且会根据幻影标志的状态(创建操作与更新操作)向服务器发出不同的调用。

分配给 ID 的任何 server-side 将覆盖新保存模型的 ID