我想基本上做以下几点 - 将一个面板添加到父面板,但应首先隐藏此子面板。完成布局之后(因此,getEl()可用)我想调用slideIn方法。
问题是我不知道应该如何隐藏它。 我试图在beforeLayout事件中隐藏面板,然后在slideIn开始之后显示它,但这不能按预期工作。
我还尝试添加一些css属性(display:none或visibility:hidden),然后删除它们,但这也无法正常工作。
UPD:一些代码来澄清我的问题:
var panel = new Ext.panel.Panel({
title: "child",
layout: "fit",
beforeLayout: function() {
//here we are trying to hide the panel
panel.getEl().addCls("somehiddenclass"); //actually display:none
}
})
parent_panel.add(panel);
panel.slideIn("l");
panel.getEl().removeCls("somehiddenclass");
答案 0 :(得分:1)
您可以简单地使用hidden: true
初始化面板,然后在创建控件后调用slideIn功能吗?
答案 1 :(得分:0)
另一种解决方案可能是将您的面板封装在简单的div元素中,或者更容易控制Ext.Container控件并分别设置其样式。