在Combobox上使用Xtemplate不要让我选择项目(项目在html上没有internalId)

时间:2012-08-12 14:03:58

标签: combobox

我无法理解为什么使用Xtemplate,Combobox中的项目不再可选。我可以在html代码中看到这些项目没有更多的internalId。这是我的代码:

Ext.define('app.widget.search.PredictiveInput', {
extend: 'Ext.form.field.ComboBox',
alias: 'widget.predictiveinput',

store: 'SearchSyntax',
storeCriteriaSyntax: 'SearchPredictiveInput',
nodeField: 'is_node',
leafField: 'is_leaf',
lastLeafField: 'is_last_leaf',
levelField: 'level',
triggerAction: 'all',
flex: 1,
queryMode: 'local',
displayField: 'subject_display',
valueField: 'id',
pageSize: 10,

setCustomTpl: function() {
var me = this;
me.tpl = Ext.create('Ext.XTemplate',
'<tpl for=".">',
' <div class="x-combo-list-item-isNode-{nodeField}' + 
' x-combo-list-item-isLeaf-{leafField}' + 
' x-combo-list-item-isLastLeaf-{lastLeafField}' +
' x-combo-list-item-level-{levelField}" role="option">{displayField</div>', 
'</tpl>'           
);
},

initComponent: function() {
this.callParent();
this.setCustomTpl();
}
});

1 个答案:

答案 0 :(得分:2)

我认为你必须添加课程x-boundlist-item

请参阅comments here

// Template for the dropdown menu.
// Note the use of "x-boundlist-item" class,
// this is required to make the items selectable.
tpl: Ext.create('Ext.XTemplate',
    '<tpl for=".">',
        '<div class="x-boundlist-item">{abbr} - {name}</div>',
        '</tpl>'
    ),