You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ExtJS 6.2如何配置store使其生成仅含数字的ID

ExtJS 6.2 实现新增Model生成纯数字ID的方案

可以实现,自动生成ID的规则由Model的identifier(标识符)配置控制,与store无关,按以下方法配置即可输出纯数字格式的ID。


配置说明

ExtJS 6.2默认给所有Model使用sequential(序列)类型的标识符,默认规则为{模型名}{分隔符}{自增数字},默认分隔符为-,所以会生成User-1这类格式的ID,我们只需要修改前缀和分隔符的配置即可。


方案1:针对单个Model配置

如果只需要某类Model生成纯数字ID,直接在Model定义中添加identifier配置即可:

Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: ['name', 'email'],
    // 自定义序列标识符
    identifier: {
        type: 'sequential',
        prefix: '', // 前缀设为空
        separator: '' // 分隔符设为空
    }
});

方案2:全局配置所有Model默认生成纯数字ID

如果需要所有新增的Model默认都生成纯数字ID,全局重写序列标识符的默认配置即可:

// 全局修改默认序列标识符规则
Ext.apply(Ext.data.identifier.Sequential.prototype, {
    prefix: '',
    separator: ''
});

验证效果

配置完成后,向store新增条目即可获取纯数字ID:

// 初始化store
const userStore = Ext.create('Ext.data.Store', {
    model: 'User'
});
// 新增2条测试数据
userStore.add([
    {name: '张三', email: 'zhangsan@test.com'},
    {name: '李四', email: 'lisi@test.com'}
]);
// 打印ID验证
console.log(userStore.getAt(0).getId()); // 输出 1
console.log(userStore.getAt(1).getId()); // 输出 2

内容的提问来源于stack exchange,提问作者user5507535

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:06:05