ExtJs 6中onRender方法的替代方法是什么

时间:2016-09-23 06:45:06

标签: extjs extjs6

我正在使用ExtJS 6和For comboBox我希望在选择后在Combofield中显示我自己的自定义值。就像我想要delimiter和选择值后在组合字段中显示的值的颜色变化一样。我在早期版本的ext中有选项onRender(ct,pos)但在最新版本的ExtJ中没有。{任何人都可以帮我解决ExtJs 6版本中的候补onRender()

1 个答案:

答案 0 :(得分:1)

您可以使用innerTpl配置。这是一个例子。你可以参考这里的小提琴。 Fiddle

Ext.onReady(function() {
var data = [{
    name: 'Tom',
    age: 20
}, {
    name: 'Peter',
    age: 30
}];

var store = Ext.create('Ext.data.Store', {
    fields: ['name', 'age'],
    proxy: {
        type: 'memory',
        reader: {
            type: 'json'
        }
    }
});   
store.loadRawData(data, false);    
store.each(function(record) {
    console.log('name in store: %s', record.get('name'));
});

var combobox = Ext.create('Ext.form.field.ComboBox', {
    queryMode: 'local',
    typeAhead: true,
    forceSelection: true,
    displayField: 'name',
    valueField: 'name',
    renderTo: Ext.getBody(),
    store: store,
    listConfig: {        
        getInnerTpl: function() {     // <-- Here you can customize your values               
            var someString = '<div style="color:red;font-weight:bold;padding-top:1px; padding-bottom:1px;">' + '{name}</div>';
            return someString;
        }
    }
});

});