Netzke / ExtJS 4 - Как реализовать динамическое количество панелей внутри аккордеонной панели - PullRequest
1 голос
/ 08 сентября 2011

Я пытаюсь прочитать строки из таблицы в базе данных и использовать их в качестве заголовков на панелях внутри аккордеонной панели. Короче говоря, количество панелей внутри гармошки может меняться динамически.

Вот суть того, что я пробовал - https://gist.github.com/1199695. Я получаю имена из таблицы с конечной точкой в ​​моем классе Ruby. Возвращенные данные содержат строку для JS-функции клиента (с именем addPanel), которая вызывается для добавления Panel в аккордеон.

Код выполняется так, как я ожидал, но панели внутри аккордеона не отображаются.

Я подозреваю, что рендеринг происходит до того, как предметы попадают в аккордеон.

Если я жестко запрограммировал добавление - через class_name.items.add (новый Ext.panel.Panel ({: title "Моя панель"})) внутри initComponent, тогда я могу увидеть панель под названием "Моя панель" внутри аккордеон.

Дайте мне знать, если это правильный способ решения проблемы?

Спасибо

1 Ответ

0 голосов
/ 09 сентября 2011

Нужны ли панели аккордеона для компонентов Netzke? Если нет, то вы можете попробовать что-то вроде:

 def configuration #:nodoc:
    super.merge({
       # ...

       :items => some_model.all.map{|item| {:item => item.title}}
    })
  end

Вкратце, вы просто предоставляете вашему классу на основе Ext.tab.Panel конфигурацию динамических элементов (взятую из модели).

...