Какое событие прослушать при смене аккордеонной панели в extjs? - PullRequest
1 голос
/ 05 марта 2012

Какое событие слушать, когда панель аккордеона нажимается и становится видимой?Любой пример кода будет отличной помощью.Спасибо!

Ответы [ 2 ]

8 голосов
/ 19 марта 2012

расширение;см .:

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.panel.Panel-event-expand

Вот мой фрагмент рабочего кода, который вы можете заменить элементами в приведенном выше примере кода, который работает для меня:

items: [{
    title: 'Watch Folder',
    html: 'Watch Folder'
},{
    title: 'Saved Search',
    html: 'Saved Search',
    listeners: {
        expand: function() {
            console.log('saved-search/expand');
        }
    }
},{
    title: 'Search History',
    html: 'Search History'
},{
    title: 'Special',
    html: 'Special'
}]
0 голосов
/ 05 марта 2012

В ExtJS Accordion - это макет, который мы будем использовать на Panel. Вот пример из документации Sencha. (Поскольку вы не упомянули версию ExtJS, я предполагаю v4.0):

Ext.create('Ext.panel.Panel', {
title: 'Accordion Layout',
width: 300,
height: 300,
layout:'accordion',
defaults: {
    // applied to each contained panel
    bodyStyle: 'padding:15px'
},
layoutConfig: {
    // layout-specific configs go here
    titleCollapse: false,
    animate: true,
    activeOnTop: true
},
items: [{
    title: 'Panel 1',
    html: 'Panel content!',
    listeners: {
        afterrender: function(thisCmp, eOpts) //(Ext.Component this, Object eOpts ) {
            // do what you want to do here
        }
    }
},{
    title: 'Panel 2',
    html: 'Panel content!'
},{
    title: 'Panel 3',
    html: 'Panel content!'
}],
renderTo: Ext.getBody()
});

Все события, связанные с Panel, применимы здесь. Проверьте использование этих событий здесь на sencha docs .

...