在我使用XTemplate之前,Folloving示例显示了普通的组合框。应用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>')
});
}发布于 2011-10-06 02:06:31
ComboBox的默认XTemplate为:
'<tpl for="."><div class="x-combo-list-item">{' + this.displayField + '}</div></tpl>'您已经将displayField设置为name,那么为什么还需要一个自定义模板呢?
发布于 2011-10-06 16:47:03
tpl值中不需要new Ext.Xtemplate。只需在其中定义一个模板字符串。
https://stackoverflow.com/questions/7658116
复制相似问题