Вкладка Extjs4, отключите все дочерние элементы, не зацикливая их

есть ли способ отключить все дочерние элементы на панели вкладок Extjs4, не зацикливая их.

мой код:

var myPanel = new Ext.TabPanel({
    region: 'east',
    title: 'my panel title',
    width: 200,
    id: 'my-panel',
    split: true,
    collapsible: true,
    collapsed: true,
    floatable: true,
    xtype: 'tabpanel',
    items: [
        Ext.create('Ext.panel.Panel', {
        id: 'my-detail-panel',
        title: 'My Info',
        autoScroll: true,
        file: false,
        type: 'vbox',
        align: 'stretch',
        tpl: myDetailsTpl
    }),
        Ext.create('Ext.panel.Panel', {
        id: 'my-more-detail-panel',
        title: 'My more info',
        autoScroll: true,
        file: false,
        type: 'vbox',
        align: 'stretch',
        tpl: myMoreDetailsTpl
    })
            ]
});

мне нужно отключить все дочерние элементы myPanel, но все же нужно, чтобы «myPanel» сохранял статус как «включить».


person jeewiya    schedule 11.01.2012    source источник


Ответы (3)


myPanel.items.each(function(c){c.disable();})

тогда

myPanel.items.each(function(c){c.enable();})

чтобы запустить их снова.

Это является циклом, но он не использует «цикл for», как я думаю, вопрос должен был быть сформулирован.

person egerardus    schedule 11.01.2012
comment
чего ждать? Как итерация не зацикливается? :) Реальный ответ здесь НЕТ, здесь нет функции disableAll, но, очевидно, вы можете написать ее, как показано в Geronimo. - person dbrin; 12.01.2012
comment
+1 Вы правы, @DmitryB, я просто предположил, что он имел в виду без использования цикла for для каждого или что-то в этом роде. Я не знал, уловит ли это кто-нибудь, поэтому написал вопрос в конце. - person egerardus; 12.01.2012

Вы можете просто установить disabled:true в начальной конфигурации для каждой панели. Это то, что вы спрашивали?

person dbrin    schedule 11.01.2012
comment
Нет, мне нужно динамически включать или отключать все элементы на вкладке. - person jeewiya; 11.01.2012

Попробуйте его:

// Create your own property for storing statu, 

config{
  allMyTabItemsEnabled = true;
}

// Then on all the items you want to disable/enable, add:

bind: {
  disabled: '{!allMyTabItemsEnabled }'
}

person Magnus Reuter    schedule 15.08.2017