gpt4 book ai didi

javascript - Extjs Accordion 项目如何使打开的项目在单击它时不再关闭

转载 作者:行者123 更新时间:2023-12-02 18:30:52 25 4
gpt4 key购买 nike

我想知道是否可以不允许用户在项目打开时再次关闭该项目,这意味着仅当我单击 Accordion 中的另一个项目时才将其关闭。希望它足够清楚。

我正在添加代码:

Ext.define('application.view.SystemHealth', {
extend: 'Ext.Container',
alias: 'widget.globalSynchronization',
requires: ['infra.view.views.BoxHeader',
'application.view.SystemStatusHeader',
'application.model.SystemHealth',
'application.store.SystemHealth',
'infra.utils.pvs.SyncJobRunningStep',
'application.view.CostCalculation',
'application.view.SystemStatusHeader',
'application.view.DataCollector',
'application.view.PublicCloudConnection',
'Ext.layout.container.Accordion'

],

layout:{
type:'vbox',
align:'stretch'

},
header: false,
cls: ['global-synchronization'],
syncJobStatus: null,



initComponent: function() {
var me = this;

me.store = Ext.create('itfm.application.store.SystemHealth');
me.store.load({scope: me, callback: me.onLoadDone});


Ext.apply(me, {
items: [
{
xtype: 'boxHeader',
width: '100%',
title: itfm.application.T.GlobalSynchronizationTitle

},
{
xtype: 'label',
width: '90%',
html: itfm.application.T.GlobalSynchronizationDescription,
margin: "0 0 30 10"
}
]
});

me.callParent(arguments);

},

onLoadDone: function(records, operation, success){
var me =this;
var accordionItemsMargin = '0 0 30 0';
me.accordion = Ext.create('Ext.panel.Panel', {


margin: "0 0 30 10",

defaults:[{
layout:'fit',
height:'100%',
width:'100%'
}] ,
layout: {
type: 'accordion',
titleCollapse: false,
animate: true,
activeOnTop: true,
fill : true,
collapseFirst :true
},
items: [
{
height: 180,
xtype: 'dataCollector',
autoScroll:true,
margins: accordionItemsMargin,
store: records[0].dcModule()
}
,
{
xtype: 'costCalculation',
margins: accordionItemsMargin,
store: records[0].ccModule()
},
{
xtype: 'publicCloudConnection',
margins: accordionItemsMargin,
store: records[0].pcModule()
}

]

});

me.add( me.accordion);

}

});

感谢您的帮助

最佳答案

您想要的是,当用户单击当前展开的面板时什么也不会发生,而不是折叠并展开下一个面板,对吗?

不幸的是,没有内置选项...如果您确实想要它,您必须重写Ext.layout.container.Accordion并自己实现它。

编辑

事实上,大部分折叠/展开代码都位于 Ext.panel.Panel 类中。

这个简单的覆盖似乎足以完成您想要的操作。显然,此方法仅用于折叠监听器,因此它不应该产生任何不利影响(除非该方法也在代码中的某处使用...)。

Ext.define('Ext.ux.Panel.JQueryStyleAccordion', {
override: 'Ext.panel.Panel'
,toggleCollapse: function() {
if (this.collapsed || this.floatedFromCollapse) {
this.callParent();
}
}
});

参见this fiddle .

关于javascript - Extjs Accordion 项目如何使打开的项目在单击它时不再关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17810606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com