Лучший способ получить индекс элемента в контейнере - PullRequest
0 голосов
/ 27 апреля 2018

Внутри моего контейнера есть несколько рядов компонентов. Когда пользователь нажимает на один из этих компонентов, я хочу знать индекс той строки, по которой компонент был выбран в контейнере. В основном я хочу получить идентификатор ROW. Каков наилучший способ получить это?

Спасибо

Код:

addFilter: function (token, filter, op) {
    this.tokenValues.push(this.config);
    var filterItem = Ext.create({
        xtype: 'container',
        height: 30,
        cls: 'purge-filter-item',
        layout: {
            type: 'hbox',
            align: 'middle'
        },
        items: [{
            xtype: 'qxlinklabel',
            ref: 'filterTypeLabel',
            cls: 'filter-item-logical-op',
            text: this.filterType,
            width: 26,

            scope: this
        }]
    });
    this.insert(0, filterItem);

    return filterItem;
}

Вот полный код: https://jsfiddle.net/342u013y/

Может кто-нибудь помочь, пожалуйста!

1 Ответ

0 голосов
/ 15 августа 2018

Ext 3.4 не обеспечивает событие щелчка на контейнере. Вам придется прикрепить его вручную.

Вот быстрый документ по вашему требованию:

Ext.onReady(function () {
    Ext.create({
        xtype: 'panel',
        renderTo: Ext.getBody(),
        title: 'Filter demo',
        items: [{
            xtype: 'container',
            width: 170,
            height: 170,
            listeners: {
                afterrender: function () {
                    this.el.on('click', function (event, extDom) {
                        var clickedComponent = Ext.getCmp(Ext.get(extDom).parent('div').parent('div').id);
                        alert(clickedComponent._rowId);
                    })
                }
            },
            items: [{
                xtype: 'panel',
                html: 'Qx Filter Item 1',
                _rowId: 1
            }, {
                xtype: 'panel',
                html: 'Qx Filter Item 2',
                _rowId: 2
            }, {
                xtype: 'panel',
                html: 'Qx Filter Item 3',
                _rowId: 3
            }]
        }]
    });
});

Здесь работает скрипка: https://fiddle.sencha.com/#view/editor&fiddle/2kg9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...