反馈已提交

网络繁忙

JS实现隐藏Tab块

  • 文档创建者:cherishdqy
  • 编辑次数:21次
  • 最近更新:RosieY 于 2021-01-26
  • 1. 概述

    1.1 问题描述

    用户希望可以自定义设置 Tab 的展现与隐藏,比如不同用户可以查看不同的 Tab 块,或者隐藏一些无关 Tab 页的内容,该如何实现呢?

    如下图所示,设计界面有 3 个 Tab,预览时隐藏一个 Tab ,只展示 2 个 Tab。

    2020-12-28_15-20-23.png

    1.2 解决思路

    通过添加 JS 来实现 。

    2. 示例

    2.1 准备模板

    准备内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\analytics\financial2\生产库存分析.frm

    点击下载模板:生产库存分析.frm

    打开模板,模板有三个 Tab 块,如下图所示,示例通过添加 JS 的方式隐藏  Tab 1。

    image.png

    2.2 添加事件

    在决策报表右上角组件列表中,选择 tabpane0 控件,为其添加一个「初始化后」事件。如下图所示:

    image.png

    JavaScript 代码如下:

    this.options.form.getWidgetByName("tabpane0").setTabVisible("tab1", false);

    注1:当模板里有多个 Tab 组合,如有 tabpane0 和 tabpane1 时,通过 this.options.form.getWidgetByName("tabpane0").setTabVisible("tab2", false); 将无法获取到 tabpane0 的 Tab2。所以此方法不适用决策报表中多个 Tab 组合的场景。

    注2:当模板导出时,被隐藏的 Tab 不会被导出。

    2.3 效果预览

    保存模板,点击「PC端预览」,可以看到第 2 个 Tab已被隐藏,PC 端效果如下图所示:

    image.png

    App 及 HTML5 效果如下图所示:

    9404d8d9-240d-46ec-8ddf-9232ea0306d5.jpg

    3. 模板下载

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\12-JS实现隐藏tab块标题-示例二.frm

    点击下载模板:12-JS实现隐藏tab块标题-示例二.frm

    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭