Combobox + XTemplate麻烦

时间:2011-10-05 07:38:14

标签: extjs

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>')
        });
    }

2 个答案:

答案 0 :(得分:4)

ComboBox的默认XTemplate为:

'<tpl for="."><div class="x-combo-list-item">{' + this.displayField + '}</div></tpl>'

您已将displayField设置为名称,那么为什么需要自定义模板?

答案 1 :(得分:2)

new Ext.Xtemplate值不需要tpl。只需在其中定义模板字符串即可。