Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Ошибка в Accordion Layout (https://javascript.ru/forum/extjs/56827-oshibka-v-accordion-layout.html)

khusamov 05.07.2015 21:31

Ошибка в Accordion Layout
 
Похоже ошибка в Accordion Layout

Код в песочнице:
https://fiddle.sencha.com/#fiddle/ptc

Я хочу задействовать опцию split во вкладках, как написано тут:
http://docs.sencha.com/extjs/5.1/5.1...nableSplitters

В итоге получаю ошибку
Uncaught TypeError: comp.addBodyCls is not a function

Или я неправильно пользуюсь Accordion Layout?

nohuhu 06.07.2015 22:34

В Accordion разделители не поддерживаются, по крайней мере в настоящее время. Внутренне опция split приводит к созданию компонента xtype: splitter, который не наследует Panel и не имеет метода addBodyCls. Отсюда и кабум.

khusamov 07.07.2015 17:03

не понял...

Это недоработали что-ли? То есть планировали, даже в документацию записали и не доделали?

В классе Ext.layout.container.HBox ситуация аналогичная? добавил split=true, но сплиттер не появился

khusamov 07.07.2015 17:30

Добавил вот такой странный объект, и сплиттр в аккордеоне заработал:

{ 
			xtype: "splitter", 
			addBodyCls: Ext.emptyFn, 
			header: {
				addCls: Ext.emptyFn,
				removeCls: Ext.emptyFn 
			}
		}


правда не совсем как хотелось бы.. последний объект в аккордеоне по высоте странный выходит....

Работают только при таких опциях:

layout: {
			type: "accordion",
			multi: true,
			fill: false,
		},


но высота увы, фиксированная... не так как hbox или vbox...

nohuhu 07.07.2015 20:19

Accordion он такой специальный layout, не слишком гибкий. Я вообще не знаю, почему эту штуку оформили как layout, обычно Accordion делают отдельным виджетом; а поскольку у нас это layout, то создаётся впечатление, что его можно использовать как душе угодно. А вот не работает он так, и вряд ли будет.

Не насилуйте зверушку, лучше объясните, чего хотите добиться-то.

khusamov 07.07.2015 20:22

Во время разборок с аккордионом обнаружил vbox... да похоже мне больше подходит vbox с внедренными туда сплиттерами (которые тоже не работают, но их можно хоть отдельно добавлять)...

nohuhu 07.07.2015 20:27

А что на выходе-то нужно? Ну или дело хозяйское, не хотите объяснять, ковыряйтесь сами. ;)

khusamov 07.07.2015 21:26

ну то и нужно, vbox со сплиттерами)))) я его несколько поздновато обнаружил просто


Часовой пояс GMT +3, время: 21:23.