【问题标题】:ExtJS - Make store generate IDs with numbers onlyExtJS - 让商店只生成带有数字的 ID
【发布时间】:2021-10-04 16:29:13
【问题描述】:

当在 ExtJS 6.2 中将新条目添加到商店时,如果您没有将任何字段指定为 ID,它会自动创建一个带有模型名称和数字 ID (MODEL-ID) 的新 ID。

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

小提琴:https://fiddle.sencha.com/#fiddle/3gk0&view/editor
而不是User-1User-2User-3,只有123

【问题讨论】:

    标签: javascript extjs


    【解决方案1】:

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

    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 字段,客户端从服务器获取这些字段。

    【讨论】:

    • 如您所见,只需定义 identifier 即可为我工作,不必创建 id 字段,因为默认名称为 id
    • 好的,太好了!我将编辑不需要id 的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2014-03-11
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多