2

Xtemplate を使用するとコンボボックスの項目が選択できなくなる理由がわかりません。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();
}
});
4

1 に答える 1

2

class を追加する必要があると思いますx-boundlist-item

ここのコメントを参照してください。

// 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>'
    ),
于 2012-09-20T12:47:06.430 に答える