我的组合元素没有显示。我正在使用本博客中描述的内联商店:
http://skirtlesden.com/articles/extjs-comboboxes-part-2
items: [
{
xtype: 'combobox',
store: {
fields: ['name'],
data: [
{name: 'Red'},
{name: 'Yellow'},
{name: 'Green'}
]},
maxLength: 64
}
]
但我看到的只是空的一个像素高的空间,元素应该呈现。
小提琴在这里:
答案 0 :(得分:1)
将displayField:'name'
添加到您的combo配置中,它应该如下所示......
{
xtype: 'combobox',
displayField:'name', //the name of the field you want to display on the combo
store: {
fields: ['name'],
data: [
{name: 'Red'},
{name: 'Yellow'},
{name: 'Green'}
]},
maxLength: 64
}
您可能也想设置valueField,但我会留给您
答案 1 :(得分:0)
您没有使用该博客中描述的"内联商店"。
该博客中描述的"内联商店"看起来像这样:
items: [
{
xtype: 'combobox',
store: [
'Red',
'Yellow',
'Green'
],
maxLength: 64
}
]
或者像这样:
items: [
{
xtype: 'combobox',
store: Ext.create('Ext.data.Store', {
fields: ['name'],
data: [
{name: 'Red'},
{name: 'Yellow'},
{name: 'Green'} ]
}),
maxLength: 64
}
]
但我不得不承认ExtJS开发人员在选择不允许您尝试的那种声明时并没有考虑到这一点。但是为了允许这个,商店需要一个xtype或类似的配置选项,因为你定义它时,不清楚你选择哪种商店--Ajax Store,JsonP商店,Direct Store,Store?
但Ext中没有这样的配置选项;所以必须创建或定义商店。