Folloving示例显示了正常的组合框,直到我使用XTemplate
。应用XTemplate
组合框后,项目变得无法点击(悬停时没有突出显示,也没有点击选择)。
Ext.onReady(function () {
var states = Ext.create('Ext.data.Store', {
fields: ['abbr', 'name'],
data: [
{ "abbr": "AL", "name": "Alabama" },
{ "abbr": "AK", "name": "Alaska" },
{ "abbr": "AZ", "name": "Arizona" }
]
});
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose State',
store: states,
queryMode: 'local',
displayField: 'name',
valueField: 'abbr',
renderTo: 'divId',
tpl: new Ext.XTemplate(
'<tpl for="."><div class="x-combo-list-item">{name}</div></tpl>')
});
}
答案 0 :(得分:4)
ComboBox的默认XTemplate
为:
'<tpl for="."><div class="x-combo-list-item">{' + this.displayField + '}</div></tpl>'
您已将displayField
设置为名称,那么为什么需要自定义模板?
答案 1 :(得分:2)
new Ext.Xtemplate
值不需要tpl
。只需在其中定义模板字符串即可。