Extjs-覆盖折叠函数
我是Extjs的新手;我有一个面板的项目“折叠:真的”,它的工作很好,但。。。 当我的特定条件为true时,我希望折叠面板,并禁用用于展开面板的按钮(因此,即使单击,面板也不再显示)。 有可能吗? 我需要一种重写方法,它可以执行其他操作,例如,在页面中显示一个没有多少特定信息的div。 我只使用javascript和ExtjsExtjs-覆盖折叠函数,extjs,overriding,expand,Extjs,Overriding,Expand,我是Extjs的新手;我有一个面板的项目“折叠:真的”,它的工作很好,但。。。 当我的特定条件为true时,我希望折叠面板,并禁用用于展开面板的按钮(因此,即使单击,面板也不再显示)。 有可能吗? 我需要一种重写方法,它可以执行其他操作,例如,在页面中显示一个没有多少特定信息的div。 我只使用javascript和Extjs 提前感谢,节日快乐请看我的片段。它能解决你的问题吗?如果你有任何问题,请告诉我。 })) 我添加了一个可绑定的版本 使用数据绑定到可折叠,您还可以将绑定添加到可折叠参
提前感谢,节日快乐请看我的片段。它能解决你的问题吗?如果你有任何问题,请告诉我。
})) 我添加了一个可绑定的版本
使用数据绑定到
可折叠
,您还可以将绑定添加到可折叠
参数I添加了以下代码:Ext.getCmp('idPanel).collapse();当我的条件为真时,但现在我想禁用展开按钮并用另一个函数替换它。我已隐藏折叠/展开按钮,当代码执行此操作时,我已启用单击显示带有我的信息的窗口弹出窗口的div。我不知道为什么如果我禁用按钮而不使其不可见,按钮将保持启用状态感谢快速回答。为了设置容器的折叠/展开按钮不可见,有一种方法可以禁用它,并将此按钮与另一个函数绑定,不同于本机的折叠/展开?@sengy我更新了我的fiddle链接。我添加了一个类型为up
的隐藏标题工具。当需要在某些情况下禁用可折叠行为时,我会隐藏collapseTool并显示up
工具。这是解决您的问题的变通方法吗?我认为覆盖默认的展开/折叠行为有点复杂。
Ext.application({
name : 'Fiddle',
launch : function() {
var parent = Ext.create('Ext.container.Container', {
title : 'Demo',
renderTo : Ext.getBody(),
layout : 'vbox',
items : [{
xtype : 'checkbox',
fieldLabel : 'Enable collapsible',
handler : function(self, v){
var panel = parent.down('panel');
panel.collapseTool.setVisible(v);
panel.getHeader().down('tool[type=up]').setVisible(!v);
},
checked : true
}, {
xtype : 'panel',
width : 500,
height : 400,
title : 'Collapsible demo',
collapsible : true,
tools : [{
type : 'up',
hidden : true
}]
}]
});
}