我是 ExtJS 的新手。几周前,如果这似乎是一个微不足道的查询,请原谅我。
我必须根据在另一个组合框 (DeliveryMethod) 中选择的值加载组合框 (SourceSystem) 中的值列表。我对这两个组合都使用 JSON 存储。
所以我在组合框 2 上添加了一个监听器
listeners:{
'select': function(combo, record,index) {
selectedDelMethod = record.data.codeValue;
var srcSystem = Ext.getCmp('sourceSystemCombo');
srcSystem.reset();
srcSystem.store.reload({
params: {
attrID: 3002,
delvMethod: selectedDelMethod
}
});
}
在这里,srcSystem.store 根据 selectedDelMethod 加载不同的列表。这工作正常。但是当 SourceSystem 组合框 id 加载时,它会被填充,但没有显示为默认值。
fieldLabel: 'Source System',
id: 'sourceSystemCombo',
xtype: 'combo',
mode: 'local',
triggerAction: 'all',
forceSelection: true,
editable: false,
name: 'sourceSystem',
displayField: 'shortDescription',
valueField: 'codeValue',
hiddenName: 'sourceSystem',
store: sourceSystemStore,
listeners: {
'afterrender': function(combo){
var selectedRecord = combo.getStore().getAt(0);
combo.setValue(selectedRecord);
}
}
我确信我在 afterrender 监听器中遗漏了一些东西。请告诉我如何让第一个值成为默认值?