Панелі ExtJS включають розширення

У мене 5 панелей, створених у ExtJS 4.0. Спочатку 1-е включено і розширено, а друге ввімкнено, але згорнуто, що я хочу зробити, це включити інший, коли користувач розширює попередню панель. Скажімо, панель 3 вимкнена, і коли користувач розширює панель 2, панель 3 вмикає (але залишається згорнутою) і, коли панель 3 розширена, панель 4 стає доступною і так далі.

0
Ви спробували ініціалізувати наступну панель у зворотному виклику? Якщо ID - панель_1, ви можете знати, щоб потім ініціалізувати панель_2 і т.д.
додано Автор dzm, джерело
Як я це можу зробити?
додано Автор John Smith, джерело

1 Відповіді

Схоже, вам слід просто приєднати слухачів подій до expand , щоб робити те, що хочете. Ви можете заблокувати подію, щоб зробити одного слухача.

Щось на зразок:

Ext.create('Ext.panel.Panel', {
    defaults: {
        bubbleEvents: ['expand']
    }, 
    items: [
        item1,
        item2,
        item3
    ],
    listeners: {
        scope: this,
        exand: function(panel) {
            var nextPanel = findTheNextPanel(panel);
            nextPanel.enable();
        }
    }
}
0
додано
Ммм, я мав би побачити код для діагностики. Переконайтеся, що ви використовуєте макет у всіх компонентах (як правило, підходить , якщо у вас є лише один елемент), і вам може знадобитися встановити autoScroll: true/code>, якщо окрема панель повинна прокручуватись за попередньо налаштованою висотою.
додано Автор Sean Adkinson, джерело
Не боротися з менеджером розкладки Ext. Замість плаваючого divs вручну, використовуйте Ext.Container з певним layout , щоб робити те, що ви хочете (Ext.Container - це просто DIV у домі). Перегляньте тут менеджер компонування: docs.sencha.com/ext-js/4-0/#!/example/layout-browser/& hellip;
додано Автор Sean Adkinson, джерело
це вирішило! Завдяки багато SeanA. У мене є інше питання. Всі ці панелі знаходяться в області перегляду, і коли я відкриваю його в IE, у вікні є смуга прокрутки, але панелі (які довгі) йдуть по сторінці, а смуга прокрутки не прокручує, щоб показати її повністю, який спосіб виправити це?
додано Автор John Smith, джерело
У мене є 3 <div> s плавали, як це [панель 1] [панель 2] [панель 3], і я маю 3 панелі, винесені у відповідних div, так що кожна з 3 панелей має 2 панелі всередині неї я не оголошував макет в ньому, я знаю, що є спосіб зробити це без використання CSS для плавання
додано Автор John Smith, джерело
ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram