代码之家  ›  专栏  ›  技术社区  ›  user5507535

ExtJS-让商店只使用数字生成ID

  •  0
  • user5507535  · 技术社区  · 3 年前

    当ExtJS 6.2中的一个新条目被添加到一个存储中时,它会自动创建一个带有模型名称的新ID,如果您没有指定任何字段作为ID,则会创建一个数字ID(model-ID)。

    是否可以让商店生成仅包含数字的ID?

    不停摆弄 https://fiddle.sencha.com/#fiddle/3gk0&view/editor
    而不是 User-1 , User-2 , User-3 ,只有 1 , 2 , 3 .

    0 回复  |  直到 3 年前
        1
  •  2
  •   Peter Koltai    3 年前

    您需要添加自定义 identifier 设置为模型,请参见下文。这将设置 id 属性,默认情况下添加到 Model 即使您没有在字段中列出它:

    Ext.define('User', {
        extend: 'Ext.data.Model',
        identifier: {
            type: 'sequential',
            seed: 1,
            increment: 1
        },
        fields: [{
            name: 'age',
            type: 'int'
        }, {
            name: 'name',
            type: 'string'
        }, {
            name: 'email',
            type: 'string'
        }, {
            name: 'phone',
            type: 'string'
        }],
    });
    

    但请记住,这些是 幻影标识符 ,意思是只存在于客户端上。在大多数情况下,服务器生成真实的id字段,客户端从服务器获取这些字段。