GoldenLayout,如何隐藏/显示组件?

2024-03-26

我有一个基于 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"
                        }
                    ]
                },
                ...
            ]
        }
    ]
}

现在我希望能够关闭或隐藏组件并使其重新出现 按工具栏按钮(即以编程方式)。我做了各种不成功的尝试:

  1. 如果我使用 x 按钮关闭组件,父列 神奇地消失,因此组件上的后续 addChild 父级(保存在某处)将该组件添加为堆栈的子级。 不是我想要的。

  2. 如果我隐藏 component.element,该组件就会消失,但是 洞依然存在。也就是说,堆栈的大小不会调整。

  3. 我在任何地方都找不到记录的 hide() 方法 组件,即使我将它包装在行、列或堆栈中。

  4. 如果我手动移动堆栈和堆栈之间的分隔符 我得到了我想要的东西(也就是说,给予 堆叠几乎所有高度)但没有 setSize(?, ?) 的组合 似乎以编程方式做同样的事情。

任何想法? 谢谢!

UPDATE:如果我将组件包装到另一个 Stack 中,容器 Column 不会消失,因此我可以将其添加回来:

{
    type: "stack",
    height: 30,
    id: "filtersFrame",
    isClosable: true,
    content: [
        {
            type: "component",
            title: "Filters",
            componentName: "templateComponent",
            componentState: { template: "filter-template" }
        }
    ]
}

只是忽略高度(新堆栈的高度始终为 50%),并且淘汰赛模板存在,但不会通过淘汰赛运行。但这是另一个问题。


我遇到了同样的问题,并找到了一个简单的解决方案:请注意,我使用的是 Angular5,所以这是在打字稿中,但代码很容易翻译为普通 JS。

我发现如果你只是调用 show/hide, updateSize 不会执行任何操作,留下一个大的空洞,所以你也应该将大小设置为 0/[whatever]。

如果将大小设置为 0 并调用 updateSize() 而不调用 hide(),该元素将变成细条。

为了获得完整的效果,你必须同时做到这两点。

    let smartFormsRow = this._goldenLayout.root.getItemsById("smartformsrow");
    var isHidden = smartFormsRow[0].config.height == 0;
    if (isHidden) {
        smartFormsRow[0].element.show(); //jquery hide
        smartFormsRow[0].config.height = 30; //30%
    } else {
        smartFormsRow[0].element.hide(); //jquery show
        smartFormsRow[0].config.height = 0;
    }

    this._goldenLayout.updateSize();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GoldenLayout,如何隐藏/显示组件? 的相关文章

  • 触摸滚动 Jquery 插件 - 如何为多个实例使用不同选项进行初始化?

    正如这里所发现的 https github com neave touch scroll https github com neave touch scroll function Define default scroll settings
  • 匹配数组中的对象并合并

    UPDATE 我有一个名为的对象数组cars包含 li 标签 其中包含有关汽车的属性数据 例如价格 汽车类型等 我的目标是 如果这些汽车符合某些标准 则将它们合并到一个列表中 要求 快速性能 保持相同的汽车数组结构 Main Goal Ma
  • 使用 jQuery UI 日期选择器选择日历更改 URL

    我正在使用 jQuery UI 选择器 我想知道当有人选择日期时是否有可能 它会自动将他们重定向到 URL 如下所示 index php date 2013 10 15 这是我正在使用的插件 Date
  • 在 ASP.NET MVC 4 中使用 jQuery Mobile 1.3 面板时的双滚动条

    我无法弄清楚这一点 将以下代码放入布局页面并在浏览器中查看后 我将显示 2 个垂直滚动条 div div 遇到了类似的问题 并注意到只有在使用我的自定义主题时才出现这种问题 我以错误的顺序将自定义主题添加到页面 这导致了问题 正确的顺序是
  • Javascript 中的线性回归 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在网络浏览器中用 Javascript 进行最小二乘拟合 目前 用户使用 HTML 文本输入输入数
  • 限制 jQuery id 字符串吗?

    简而言之 我的问题是字符串在 jQuery 中作为可搜索 id 或可搜索内容有什么限制 更新 我得到了 ID 部分 但不是为什么我什至无法使用该字符串搜索 html 内容 对于任何愿意告诉我一个正则表达式来将模式从 MM dd yy HH
  • 将 jQuery 版本从 1.7.1 升级到 1.11.2

    在我当前的应用程序中 我使用的是 jQuery 版本 1 7 1 现在 我计划将jQuery版本升级到1 11 2 是否有任何补丁可以提供与现有应用程序的向后可比性 Thanks 尝试这个 http blog jquery com 2013
  • 一个接一个地淡入div

    大家好 我很擅长 HTML 和 CSS 但才刚刚开始接触 jQuery 的皮毛 我希望让 3 个 div 在页面加载时逐渐淡入 到目前为止我有这个 我听说使用 css 将显示设置为 none 对于任何使用非 JavaScript 浏览器的人
  • Jquery 两个字段的时间差(以小时为单位)

    我的表单中有两个字段 用户可以在其中选择输入时间 start time end time 我想在更改这些字段时重新计算另一个字段的值 我想做的是获取两次之间的小时数 例如 如果我的开始时间为 5 30 结束时间为 7 50 我想将结果 2
  • jqGrid刷新本地数据(JSON对象)

    我正在尝试将 jqGrid 与本地数据一起使用 但发现了几个问题 我正在初始化这样的事情 function refreshGrid grid results grid jqGrid data results datatype local c
  • 禁用 Bootstrap 中的选项卡

    我正在尝试禁用引导程序中的选项卡 我一直在研究 但尚未找到解决方案 我已经尝试过这个 可以禁用 Bootstrap 中的选项卡吗 https stackoverflow com questions 9237314 can you disab
  • `attr('checked', false)` 不适用于 IE6

    正如标题所说 我无法获取 attr checked false 在 IE6 上工作 我正在克隆一些 HTML 然后在将新克隆的 HTML 分配给元素之前 我会运行它并取消选中新克隆部分中的所有复选框 这在除 IE 6 之外的所有浏览器中都可
  • 在 iframe 中打开的网页上调用我的 jquery 函数

    我想单击一个按钮 该按钮位于基于父页面中的类选择器的 iframe 中打开的网页上 我试过这个 each classname function i el setTimeout function el trigger click 30000
  • 如何删除除任何特定 id 之外的元素

    假设有一个父 id 其中包含许多元素 我想删除除一个元素之外的所有元素 ex parent id children not id n remove
  • 点击加载谷歌地图

    我想在单击链接后显示 Google 地图 我已经尝试过以下方法 当点击链接时 然后 Insert div与 id 链接后map 使用 jQuery 方法 getScript 加载 Google Maps API 添加谷歌地图到div带身份证
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 使用单击事件调用“trigger”方法时的复选框值

    如何在点击事件中获取正确的当前值以通过触发器调用 Html
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style

随机推荐

  • 在 iframe 中访问 TinyMCE 当前输入

    我正在使用 TinyMCE 并且尝试将用户当前输入的内容输出到 TinyMCE 编辑器下方的 div 中 我希望用户看到帖子的渲染效果如何 我正在使用的脚本是这样的 我已将相应的 div 放置在视图中的开始表单中 div div 然而 当我
  • sIFR 还是 FLIR?

    我最近遇到了面部提升术 这是 sIFR 的替代方案 我想知道那些同时拥有 sIFR 和 FLIR 经验的人是否可以介绍一下他们使用 FLIR 的经验 对于那些还没有了解 FLIR 工作原理的人来说 FLIR 的工作原理是使用 JavaScr
  • 不同的交易必须保证选择不同的项目;避免争论

    作为注册新用户的一部分 我们从预编译列表 表 中为它们分配资源 在本例中为 Solr 核心 如果 5 个用户注册 则必须为他们分配 5 个不同的核心 如果用户成功注册 分配即为最终分配 请参阅下面的描述 但在现实世界中 同时注册新用户竞争同
  • 如何在表单提交时打开新窗口

    我有一个提交表单 并希望它在用户提交表单时打开一个新窗口 以便我可以在分析中跟踪它 这是我正在使用的代码
  • QWidgets可以添加到QWindow中吗?

    现在推荐使用QWindow进行OpenGL绘图 是否可以向此窗口添加小部件 如果是这样 怎么办 如果没有 我应该如何使用 Qt5 将小部件添加到 OpenGL 程序中 应用程序通常会使用QWidget or QQuickView对于它的 U
  • Laravel Auth::user() 关系

    我试图通过 Auth user 函数获取我的用户角色关系 我以前曾这样做过 但由于某种原因它不起作用 Auth user gt role 这将返回尝试从非对象获取属性的错误 在我的用户模型中我有这个 public function role
  • Flask-SQLAlchemy 和 Flask-Restless 不获取孙子

    Problem 我正在 Flask Flask SQLAlchemy 和 Flask Restless 上构建一个应用程序 我使用 Restless 生成了一个用于父子孙关系的 API 我的孩子上的 GET 将正确获取孙子 但父母上的 GE
  • 如何减少部署时的 Docker 映像大小?

    所以我刚刚创建了一个非常基本的 Node 应用程序 我想练习将其放入docker容器中并部署到另一台服务器上 我正在使用这里的步骤 https nodejs org en docs guides nodejs docker webapp h
  • 跳过 FlatFileParseException 或 Spring Batch 中的特定异常

    您好 我需要读取 n 个 平面文件 在文件读取期间 如果从读取器收到 FileParseException 则停止当前文件读取并安全退出并处理下一个文件并继续作业执行 目前我有这个 xml 配置 但我不想这样做 因为我没有真正的跳过限制计数
  • 春云|假装 Hytrix |首次调用超时

    我有一项服务使用了 3 个假客户端 每次启动应用程序时 我都会在第一次调用任何假客户端时收到 TimeoutException 在一切稳定之前 我必须至少触发每个假客户端一次 在网上查了一下 问题是 feign 或 hystrix 内部的某
  • 通过隧道颠覆

    对于工作 我在一个封闭的网络中工作 我们设置了一些只能从我们的网络内部访问的 IP 地址 不过 有一个盒子 我们可以通过 SSH 进入并通过隧道到达我们各自的开发者盒子 我知道我可以通过使用以下方式从我们的开发者盒子获得流量 Lssh 的参
  • 找到 3x3 打孔的所有组合

    我参加了一个嘉年华 在每个地点 他们都会用特殊的打孔器标记您的节目 打孔器是一个 3x3 空间的网格 在每个空间中 要么有一根大头针刺破你的纸 要么没有 这让我想知道你可以用这个工具制作多少种不同的图案 我的第一个想法是 2 9 512 但
  • 在 pypy 中调用 python 文件

    我最近搬到了 PyPy 它的速度快得惊人 但是很多 python 库还没有实现 所以我有很多自制的 python 函数 我想在 PyPy 代码中调用它们 这是我的问题 有没有办法在 PyPy 中调用 python 文件或函数 并向其传递一些
  • 带有 Entity Framework 4 指南的多语言数据库

    我们正在创建一个大型电子商务数据库 需要支持多种语言的数据 例如 产品表将需要名称 描述 元标题 元关键字 元描述等的一项或多项翻译 从关系数据库设计的角度来看 有多种方法可以实现这一点 但 Entity Framework 4 添加了一些
  • 在 Android 中使用拨号盘启动应用程序

    我想通过拨号盘启动我的应用程序 我使用以下代码 用于拨号盘启动应用程序 在广播接收器中 public class HiddenReceiver extends BroadcastReceiver Override public void o
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

    我正在尝试将 hibernate orm 映射工具配置到我的 java 类 并使用 PostgreSQL 作为我的数据库 并将密码配置为 password 当我尝试运行该应用程序时 我在控制台日志中遇到错误 如下所示无法创建请求的服务 or
  • 社交网站的数据库设计

    社交网站 例如 Twitter 中会出现哪些表格 到目前为止我有一个用户表 如何跟踪关注者和我关注的人 我应该为关注者和我关注的人维护一个单独的表吗 这些表中会有哪些列 请不要认为这是主观 偏离主题的 由于我是初学者 我想专家可以指导我获得
  • 如何通过 React JS 博览会正确从 Firebase 实时数据库获取随机节点

    跟进问题来自在控制台中记录变量时出现引用错误 https stackoverflow com questions 75509803 referenceerror when the variable is being logged in co
  • django 表单 - 从 clean() 引发特定字段验证错误

    我对依赖于多个字段的表单进行了验证检查 但最好让验证错误向用户具体显示哪些字段导致了问题 而不仅仅是表单顶部的错误消息 该表单有很多字段 因此可以更清楚地具体显示错误所在 作为解决方法 我尝试在每个相关字段中创建相同的验证clean fie
  • GoldenLayout,如何隐藏/显示组件?

    我有一个基于 GoldenLayout 1 5 9 的应用程序 布局是包含两列的行 请参阅下面我感兴趣的列的配置 let config content type row content type column width 31 conten