ExtJS 4: предотвратить автоматический расчет ширины - PullRequest
0 голосов
/ 12 марта 2012

Я использую Ext.tab.Bar внутри панели сетки tbar.

Мой код:

...
tbar: [
    ...
    "->",
    this._getTabbar()
]
// where this._getTabbar() is:
GridPanel.prototype._getTabbar = function() {
    return Ext.tab.Bar({
        width: 850,
        items: [
            {text: "Grid's Tab #1", closable: false},
            {text: "Grid's Tab #2", closable: false},
            {text: "Grid's Tab #3", closable: false},
            ...
            {text: "Grid's Tab #N", closable: false}
        ]
    });
}

В результате я получаю правильную верхнюю панель инструментов, но кнопки впанель вкладок слишком короткая, и я не вижу их ярлыки.Это означает, что кнопка табуляции Вкладка Grid # 1 выглядит как T сетки ...

Я пытался вручную добавить параметр width в конфигурацию вкладки:

{text: "Grid's Tab #N", ..., width: 150}

И ничего, ExtJS автоматически рассчитывает одинаковую ширину для каждой кнопки.Я попытался установить flex: false и снова ничего.

То, что я хочу спросить вас, что я должен сделать, чтобы предотвратить вычисление flex-like width?Если я создаю 100500 кнопок с надписью «Кнопка с длинной-длинной-длинной-длинной», я хочу видеть полный текст всех кнопок на панели вкладок.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 13 марта 2012

Я немного растерялся.Конфигурация панели сетки tbar предназначена для панели инструментов.Конфигурация для tbar обычно:

tbar: [
  { xtype: 'button', text: 'Button 1' }
]

Панель инструментов не ограничена кнопками.Вот пример очень занятой панели инструментов со всеми видами полей http://jsfiddle.net/dbrin/PhAbR/embedded/result/

Панель вкладок с другой стороны предназначена для панели вкладок.вот что говорят документы:

"TabBar используется внутри TabPanel и, как правило, его не нужно создавать вручную"

не то, что вы не могли:) Итак, вы пытаетесь создать пользовательский компонент с вкладками?Если так, то почему бы не использовать обычную панель вкладок?

...