在使用Sencha CMD进行生产构建之后,我遇到了一个奇怪的行为。我在localhost上运行的开发工作正常,但在构建后,searchfield不起作用,一切正常,除了这个组件。我已经测试了所有,但我对这个问题没有任何线索。
问题在于此代码
/* 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')
}
]
提前谢谢。
答案 0 :(得分:1)
解决了,问题是:
contactTypeBtn不是Sencha的属性,在我的localhost中并不关心并且它正常工作但是在构建之后,Sencha需要找到这个“属性”,当然Sencha找不到它。解决方案正在覆盖添加此属性的按钮类。
例如:
Ext.define('xr.utility.TypeButton', {
extend: 'Ext.Button',
xtype : 'typeButton',
config: {
contactTypeBtn: ''
}
});
这是一个非常棘手的问题。