我正在与Sencha Architect 3.1一起工作,并且我正面临着一个与树面板折叠有关的问题。
有一个带有边框布局的视口。
在西部地区有一个树形面板和一个宽度相同的面板。
我有一个事件侦听器,用于单击树形面板中的叶子节点,在该事件侦听器中,我将提供this.collapse(),但当下次展开树形面板时,它会向右移动。
Here is a sample fiddle which i have done which has the same problem.
请帮我找出解决这个问题的办法。
发布于 2014-08-20 03:11:39
这里最大的问题是,您正试图在 TreePanel上崩溃。
让我们一步一步来更好地理解这个问题。在您的示例中,有两个不同的选项可供用户查看树面板。
第一种方法是单击左侧标题中的展开按钮工具。但在这种情况下,展开/折叠按钮工具已被隐藏。因此,这种方式是不可能的。
第二种方法是单击左侧标题中的任意位置(Else)。
对于用户来说,上述方法会导致非常不同的行为。如果使用第一个选项,面板将“展开”,导致其他面板被推到右侧,以便可以显示树面板。如果使用第二个选项,面板将“浮动”在现有面板上。
我建议您设置hideCollapseTool: true,并尝试一下这两个选项。
有了这些知识,应该很容易理解执行this.collapse()是“隐藏”树面板的不正确方式,因为面板从未展开过。因为它没有展开,所以尝试折叠面板会导致树面板的x位置不正确地获得偏移量(Sencha在这里应该有错误检查,但显然没有)。
因此,问题的答案是简单地将this.collapse()更改为this.hide()。不幸的是,没有好的方法来告诉面板取消浮动和动画离开。要么是我不知道该调用哪个方法,要么是Sencha忽略了这个问题。
我希望这是很清楚的。
https://stackoverflow.com/questions/24677794
复制相似问题