ExtJs ComboBox:样式条目

时间:2011-08-11 11:21:21

标签: javascript extjs extjs4

我想在Combobox斜体中输入一些条目。

是否有类似于Column的渲染器或者我该如何实现?

编辑:抱歉,但我没有提供足够的信息,而且我意识到这是我以前想做的废话......

在完全理解我的问题后,我会写更多的话......

2 个答案:

答案 0 :(得分:5)

如果您只想设置列表项的样式,则为下拉列表中使用的内部绑定列表提供getInnerTpl()函数就足够了:

var combo = new Ext.form.field.ComboBox({
    // ...
    listConfig: {
        getInnerTpl: function() {
            return '{field1}: {field2}';
        }
    },
    // ...
});

如果您想更改下拉列表的整个内容,请在tpl中提供listConfig参数:

var combo = new Ext.form.field.ComboBox({
    // ...
    listConfig: {
        tpl: '<div><tpl for="."><span class="item">{field1}: {field2}</span></tpl></div>',
        itemSelector: 'span.item' // you need to provide an itemSelector if you change the template
    },
    // ...
});

根据Tanel Tähepõld建议,您应该阅读Ext.XTemplate的文档。

答案 1 :(得分:0)

Ext.form.field.ComboBox有配置属性“renderTpl”,你可以创建自己的Ext.XTemplate并使用它(html标记)。 XTemplate还允许在模板中使用if calus,这样你就可以创建caluse for italic text。 Ext.XTemplate的文档:http://docs.sencha.com/ext-js/4-0/#/api/Ext.XTemplate