0
ExtJS 4.2를 사용하고 store
을 loadComboBox()
에 인쇄 할 때 항목이 있지만 드롭 다운에 나타나지 않습니다. 드롭 다운이 비어 있습니다.Combobox가 불러 온 저장 데이터를 표시하지 않습니다.
여기는 JSFiddle DEMO입니다.
Ext.define('ReportFieldModel', {
extend: 'Ext.data.Model',
fields: [{
'name': 'name',
'type': 'string'
}]
});
Ext.define('ReportFieldComboStore', {
extend: 'Ext.data.JsonStore',
model: 'ReportFieldModel'
});
var config = {
'type': "Summary",
'columns': [
"red",
"yellow",
"orange",
"green",
"blue",
"indigo",
"violet"]
};
function processItem(item) {
return Ext.create('ReportFieldModel', {
name: item
});
}
function processItems(data) {
var arr = [];
if (data && data.length > 0) {
for (var i = 0; i < data.length; i++) {
arr.push(processItem(data[i]));
}
}
return arr;
}
function loadComboBox(combo, data) {
var store = combo.store;
var columns = data.columns;
var processed = processItems(columns);
console.log(JSON.stringify(processed, undefined, 2));
store.loadData(processed, false);
}
Ext.onReady(function() {
var resultsPanel = Ext.create('Ext.panel.Panel', {
title: 'Results',
width: 200,
height: 400,
renderTo: Ext.getBody(),
layout: {
type: 'vbox',
align: 'stretch',
padding: 5
},
items: [{
xtype: 'combo',
itemId: 'myCombo',
displayField: 'name',
valueField: 'name',
mode: 'local',
store: Ext.getStore('ReportFieldComboStore')
}]
});
loadComboBox(resultsPanel.down('#myCombo'), config);
});
감사합니다. Sencha는 항상 속성 이름을 변경합니다. –
추가 조사 후 JSFiddles를 2 개 만들었습니다. [# 1] (http://jsfiddle.net/7ys8ypd9/1/) 및 [# 2] (http://jsfiddle.net/hgqse856/1/). 그들은 배열 저장소를 사용합니다. 첫 x 째는 새 상점 W 모델을 정의하고, 다른 상점 W 모델은 인라인으로 정의합니다. –