使用 Sencha 项目进行生产构建后的奇怪行为

Strange behavior after the production build with Sencha project

在使用 Sencha CMD 进行生产构建后,我遇到了一个奇怪的行为。我在本地主机上的开发 运行 工作正常,但构建后搜索字段不工作,一切正常,除了这个组件。我已经测试了所有,但我对这个问题没有任何线索。

问题出在这段代码中

/* On Key Up of Search Partners*/
onSearchPartnersKeyUp: function (searchField, pressed) {
    var queryString = searchField.getValue();
    var store = Ext.getStore('Partners');
    store.clearFilter();
    pressed = this.getPartnerSegment().getPressedButtons(); //get reference to the segmentedButton
    var contacttype = pressed[0].contactTypeBtn;
    if (queryString && queryString.length > 2) {
        var thisRegEx = new RegExp(queryString, "i");
        store.filterBy(function (record) {
            if ((thisRegEx.test(record.get('id')) || thisRegEx.test(record.get('name')))
                && ((record.get('contacttype') == contacttype)
                || (pressed[0].getItemId() == 'showAllPartners'))) {
                this.getPartnerList().getScrollable().getScroller().scrollTo(0, 0);
                return true;
            }

            return false;
        }, this);
    }

    store.filter('contacttype', contacttype);

},

也许,在第二个 "if" 中,当 sencha cmd 最小化有任何混淆时..????????

在视图中我有这段代码:

items        : [
                        {
                            xtype      : 'typeButton',
                            itemId     : 'showOnlyPartners',
                            contactTypeBtn: 'CU',
                            iconCls    : 'user',
                            iconMask   : true,
                            text       : Cicero.Text.getText('P_BTN_PARTNERS')
                        },
                        {
                            xtype      : 'typeButton',
                            itemId     : 'showOnlyOutlets',
                            contactTypeBtn: 'OU',
                            iconCls    : 'outlet',
                            iconMask   : true,
                            text       : Cicero.Text.getText('P_BTN_OUTLETS')
                        },
                        {
                            xtype      : 'typeButton',
                            itemId     : 'showAllPartners',
                            contactTypeBtn: '',
                            pressed    : true,
                            text       : Cicero.Text.getText('P_BTN_ALL')
                        }
                    ]

提前致谢。

已解决,问题是:

contactTypeBtn 不是 Sencha 的 属性,在我的本地主机上并不关心,它工作正常但是在构建之后,Sencha 需要找到这个 "property",当然 Sencha 不会找不到它..解决方案是覆盖按钮 class 添加这个 属性.

例如:

Ext.define('xr.utility.TypeButton', {
   extend: 'Ext.Button',
   xtype : 'typeButton',

   config: {
    contactTypeBtn: ''
   }
});

这是一个非常棘手的问题。