我的Combobox出了问题。我构建了一个简单的组合框,它配置了一个JsonStore来提供远程数据。组合框在第一次单击时打开没有问题,请求JSON数据,Ext显示完整的下拉列表。
但是在第二次(有时是第三次)点击时,组合框既不会打开也不会加载任何远程数据。
这是我的配置:
var config = {
autoLoad: true,
fields: [{
name: 'name',
type: 'string'
}, {
name: 'count',
type: 'int'
}, {
name: 'created_at',
type: 'int'
}, {
name: 'updated_at',
type: 'int'
}],
root: 'result',
idProperty: 'id',
proxy: new Ext.data.HttpProxy({
method: 'GET',
url: '/myHandler/loadDropDownList'
})
};
组合框本身加载到工具栏中:
var config = {
height: 27,
items: [{
xtype: 'tbtext',
text: 'Your preference?:',
// @todo inline style -> CSS
style: {
'font-weight': 'bold',
'color': '#15428B',
'font-family': 'tahoma,arial,verdana,sans-serif',
'font-size': '11px'
}
},
'->',
// align the following items on the right side of the toolbar
{
xtype: 'combo',
itemId: 'table-combobox',
store: new myStore(),
valueField: 'name',
displayField: 'name',
value: ' - Please Choose - '
}]
}
非常感谢提前!
答案 0 :(得分:0)
每次选择数据库时,组合框都可能遇到问题。如果您不需要在整个用户会话期间更新组合框数据(即,用户单击组合框之间的下拉值不会发生变化),您可以将此配置添加到组合框中:
mode:'local',
(ExtJS4:queryMode:'local'
)
远程存储的数据将自动加载,并且每次下载时都不会重新查询数据库存储。