Extjs 6 使用 Ext.define 定义链式存储

Extjs 6 Define a chained store using Ext.define

是否可以使用Ext.define语句来定义连锁店?我尝试了以下代码,但出现错误:

Ext.define('MyProject.store.RelFiltered', {
    extend: 'Ext.data.ChainedStore',
    source:'MyProject.store.Rel',
    alias: 'store.releasesFiltered'
});

我收到的错误是:

Ext.data.ChainedStore.applySource(): Invalid source "MyProject.store.Rel" specified for Ext.data.ChainedStore

Ext.mixin.Bindable.applyBind(): Cannot use bind config without a viewModel

我从thispost那里得到了idee,但是好像代码不完整

谢谢

Can a chained store be define using Ext.define statement?

当然可以。但是 source config of the chained store 表示它应该是商店实例或现有商店的 ID。

所以代码看起来像这样:

Ext.define('MyApp.store.MyChainedStore', {
    extend: 'Ext.data.ChainedStore',

    storeId: 'MyChainedStore',
    //source using storeID
    source: 'OriginalStore'

});

Ext.define('MyApp.store.OriginalStore', {
    extend: 'Ext.data.Store',

    requires: [
        'Ext.data.field.Field'
    ],

    storeId: 'OriginalStore',
    data: [{
        id: 1,
        name: 'commodi'
    }],
    fields: [{
        name: 'id'
    }, {
        name: 'name'
    }]
});

查看这个 fiddle 示例 https://fiddle.sencha.com/#view/editor&fiddle/1kk4