Как добавить атрибуты данных в ExtJs rendered html?

Использование ExtJs 4.1.

Я создаю панель (например), и я хотел бы, чтобы сгенерированный html включал один или несколько атрибутов data-a (например: data-intro="some text" data-step="1")

Как это можно сделать?

Ответ 1

После рендеринга компонента вы можете применить атрибуты к элементу верхнего уровня, представляющему компонент

Пример:

var panel = Ext.create('Ext.panel.Panel',{
    title: 'Test',
    width: 500,
    height: 200,
    renderTo: Ext.getBody(),
    listeners: {
        afterrender: function(cmp) {
            cmp.getEl().set({
                "data-intro": 'some text',
                "data-step": 1
            });
        }
    }
});

panel.show();

Ответ 2

Для достижения этой цели вы можете использовать опцию autoEl.

{
    xtype: 'panel',
    title: 'My Panel',
    autoEl: {
        tag: 'div',
        'data-step': '1'
    }
}