Я использую Extjs 6.5.3.
Я хочу создать собственный макет или конфигурацию, чтобы при использовании этого в моем файле все панели становились разборными.
Я знаю, что в ExtJS есть макет Accordion, с помощью которого мы можем сделать все панели разборными, но макет аккордеона имеет проблемы для нескольких открытых панелей одновременно, даже если мы добавляем multi: true
config для одного и того же.Это не позволит развернуть и закрыть несколько панелей одновременно.
Ниже приведен пример, при котором несколько панелей не могут открываться одновременно, даже добавлено multi:true
Ext.create('Ext.panel.Panel', {
title: 'Accordion Layout',
width: 300,
height: 300,
defaults: {
// applied to each contained panel
bodyStyle: 'padding:15px'
},
layout: {
// layout-specific configs go here
type: 'accordion',
titleCollapse: false,
animate: true,
multi: true,
activeOnTop: true
},
items: [{
title: 'Panel 1',
html: 'Panel content!'
}, {
title: 'Panel 2',
html: 'Panel content!'
}, {
title: 'Panel 3',
html: 'Panel content!'
}],
renderTo: Ext.getBody()
});
IТакже мы знаем, что используя макет vbox, мы можем сделать панели разборными, как показано ниже:
Ext.create('Ext.panel.Panel', {
title: 'Accordion Layout',
width: 300,
height: 300,
defaults: {
// applied to each contained panel
bodyStyle: 'padding:15px',
collapsible: true
},
layout: {
// layout-specific configs go here
type: 'vbox'
},
items: [{
title: 'Panel 1',
html: 'Panel content!'
}, {
title: 'Panel 2',
html: 'Panel content!'
}, {
title: 'Panel 3',
html: 'Panel content!'
}],
renderTo: Ext.getBody()
});
Но я хочу использовать его в качестве конфигурации или пользовательского макета, чтобы я мог использовать его в любом месте.Для этого я не нахожу никакой возможности.