Extjs 4 到 6 迁移 类

Extjs 4 to 6 migration classes

我们有用 Extjs 4 编写的 js 文件。我必须将这些文件迁移到 Extjs 6。几乎一切都很好,但是当我们 create 拥有 classes(扩展的 extjs classes),我们遇到了问题。 (不幸的是没有 mvc,只有 classes 和 create)。在 ext-all-debug 中:

create: function(config, defaultType) {
    if (typeof config === 'string') {
        return Ext.widget(config);
    }
    if (config.isComponent) {
        return config;
    }
    if ('xclass' in config) { // **config is true**
        return Ext.create(config.xclass, config);
    }
    return Ext.widget(config.xtype || defaultType, config);
},

configtrue除了一个对象,我们在控制台得到如下错误信息:"Cannot use 'in' operator to search for 'xclass' in true"

我们的 classes 或创建有什么问题?

这是一个class:

Ext.define("My.component.TrunkListGrid", { 

    extend: "My.component.Grid", 

    // config

    viewConfig: {
        enableTextSelection: true
    },

    initComponent: function () {

        // ...

        Ext.apply(this, {
            // ...          
        });

        this.callParent();

        this.addListener('render', function () {
            // ...
        }, this);

    }

});

这是一个创建:

var g = Ext.create('My.component.TrunkListGrid', {
    // config
});

我想,我必须用另一种方式来称呼...

哦,我找到了!我们在配置中使用了buttons: true