我有一个基于 GoldenLayout (1.5.9) 的应用程序。布局是包含两列的行。
请参阅下面我感兴趣的列的配置。
let config = {
content: [
{
type: "row",
content: [
{
type: "column",
width: 31,
content: [
{
type: "stack",
isClosable: false,
content: [...]
},
{
type: "component",
height: 30,
title: "Filters",
componentName: "templateComponent"
}
]
},
...
]
}
]
}
现在我希望能够关闭或隐藏组件并使其重新出现
按工具栏按钮(即以编程方式)。我做了各种不成功的尝试:
如果我使用 x 按钮关闭组件,父列
神奇地消失,因此组件上的后续 addChild
父级(保存在某处)将该组件添加为堆栈的子级。
不是我想要的。
如果我隐藏 component.element,该组件就会消失,但是
洞依然存在。也就是说,堆栈的大小不会调整。
我在任何地方都找不到记录的 hide() 方法
组件,即使我将它包装在行、列或堆栈中。
如果我手动移动堆栈和堆栈之间的分隔符
我得到了我想要的东西(也就是说,给予
堆叠几乎所有高度)但没有 setSize(?, ?) 的组合
似乎以编程方式做同样的事情。
任何想法?
谢谢!
UPDATE:如果我将组件包装到另一个 Stack 中,容器 Column 不会消失,因此我可以将其添加回来:
{
type: "stack",
height: 30,
id: "filtersFrame",
isClosable: true,
content: [
{
type: "component",
title: "Filters",
componentName: "templateComponent",
componentState: { template: "filter-template" }
}
]
}
只是忽略高度(新堆栈的高度始终为 50%),并且淘汰赛模板存在,但不会通过淘汰赛运行。但这是另一个问题。