navbarMenu 内的 navbarMenu 闪亮

2024-01-29

如果我在 Shiny 中使用以下 UI,我大致得到了我想要的输出,但它实际上并没有工作,因为最低级别的 navbarMenu 显示它的顶级标签和指示它可扩展的箭头,但无法注册子项目。我的猜测是因为这仅被设计为顶级元素(navbar菜单)。我的问题是,是否有另一个元素可以执行子菜单所需的任务?无法在菜单项下进行分组将很快变得视觉效率低下。

shinyUI(navbarPage("My Application",
                   tabPanel("Component 1"),
                   tabPanel("Component 2"),
                   navbarMenu("More",
                              tabPanel("Sub-Component A"),
                              tabPanel("Sub-Component B"),
                              navbarMenu("Yet More",
                                         tabPanel("Subpart 1"),
                                         tabPanel("Subpart 2"))
                              )
                   )
)

很好的问题!

我认为没有其他元素可以使用,但您可以使用 JavaScript 来使其工作。

我所做的唯一改变app.R包含 js 文件,使用:includeScript("script.js")。真正的部分是脚本本身:我们定义了 2 个事件处理程序:

单击下拉菜单

下拉列表是由创建的navbarMenu。他们没有tabPane连接到它们,因此我们需要的只是通过切换下拉列表(关闭时打开,或处于打开状态时关闭)来重新定义默认行为。

单击选项卡

单击选项卡时需要考虑 3 个子任务:

在选项卡内容中设置活动元素

我们需要展示适当的tabPane单击该按钮以查看内容。这tabPane with a class: active如图所示,所以首先删除active类从每个tabPane, 然后加active所单击的选项卡的类。

在导航栏中设置活动元素

同样的故事,active选项卡直观地表示在navbar颜色较深的灰色。

关闭所有下拉菜单

单击特定选项卡后navbarMenu关闭所有下拉菜单可能是个好主意,否则它们将保持打开状态。

脚本.js

$(document).ready(function(){
  $('.dropdown').on('click', function(e){
    $(this).toggleClass('open');
    
    e.stopPropagation();
    e.preventDefault();
  });
  
  $('[data-toggle=tab]').on('click', function(e){
    let dv = ($(this).attr('data-value'));
    
    //Set active element in tabcontents
    $('.tab-pane').removeClass('active');
    $('.tab-pane[data-value="' + dv + '"]').addClass('active');
    
    //Set active element in navbar
    $('a[data-toggle=tab]').parent().removeClass('active');
    $('a[data-value="' + dv + '"]').parent().addClass("active");
    
    //Close the dropdowns
    $('.dropdown').removeClass('open');
    
    e.stopPropagation();
    e.preventDefault();
  });
});

您可以快速尝试一下runGist("https://gist.github.com/dgyurko/e1952c5ecbf9a1315b41b8d7ef1f7a8f")

确保在浏览器中进行测试,因为它在 RStudio 查看器中似乎无法正常工作!

Demo

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

navbarMenu 内的 navbarMenu 闪亮 的相关文章

  • 如何在闪亮中使用带有reactiveValues的debounce

    我知道我可以像这样将 debounce 与reactive 结合使用 这就是我需要的行为 但我想改用reactiveValues ui lt fluidPage textInput inputId text label To see how
  • 在 R 中提取模式/分隔符之间的字符串

    我的变量名称格式如下 PP Sample 12 GT or PP Sample 17 GT 我正在尝试使用字符串拆分来 grep 出中间部分 即Sample 12 or Sample 17 但是 当我这样做时 IDtmp lt sapply
  • 在字符串中每个字母后面添加数字

    我有几个具有固定格式的字符串 格式为一个字母后跟一个数字 例如 A3B1C7D1 但是 如果字母后面的数字为 1 则字符串将写为 A3BC7D 我想做的是插入数字 1 然后将字符串转换为A3BC7D to A3B1C7D1 我的示例数据是
  • 在ggplot2中添加边框或背景以缩放图例guide_colorbar

    我在 ggplot 图中有一个从白色到红色的颜色条 并且白色边框在白色背景上不太明显 有没有办法对图例中的刻度线进行不同的着色或在渐变比例周围添加边框 这是一个最小的例子 df lt data frame x lt rnorm 10 y l
  • Foreach循环无法找到对象

    我正在尝试将 foreach 与并行后端结合使用来加速计算 用于特征选择的 AUCRF 随机森林的交叉验证 如果这确实重要的话 在这样做的过程中 我需要获取向量的子集 向量的名称可以更改 但可以作为字符向量进行访问 我使用 eval par
  • R 控制台是我的母语,如何将 R 设置为英语?

    我在 Windows 7 上使用 R 显然 R 不知何故发现了我说英语以外的语言的证据 并且顽固地坚持在控制台中以我自己的语言提供输出 由于多种原因 这是不可取的 我希望 R 是英语 什么有效 我能够使用LANGUAGE en作为 R 控制
  • 按行重塑矩阵

    我有一个大小为 18000 x 54 的矩阵 我想将其重塑为大小为 54000 x 18 的矩阵 其中初始矩阵的每一行都变成一个有 3 行的矩阵 让我们举个例子 我有一个矩阵如下 a matrix 1 18 nrow 2 ncol 9 by
  • rmarkdown 中的内部链接不起作用

    我使用 rmarkdown 来渲染 pdf 文档 现在我想在文本中添加内部链接 在帮助页面中降价 http rmarkdown rstudio com authoring pandoc markdown html links 它说内部链接定
  • 闪亮的演示文稿 (ioslides):自定义 CSS 和徽标

    我安装了以下内容 RStudio 预览版 版本 0 98 864 2014 年 5 月 24 日 knitr 和shiny 的开发版本 来自 devtools install github c yihui knitr rstudio shi
  • 计算级别内的值

    我在 R 中生成了一组级别cut 例如假设 0 到 1 之间的小数值 分为 0 1 个区间 gt frac lt cut c 0 1 breaks 10 gt levels frac 1 0 001 0 1 0 1 0 2 0 2 0 3
  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col
  • R:错误消息---包错误:“functionName”未从当前命名空间解析

    我正在使用一个一直运行到 R3 0 的软件包 问题如上所述 当我们调用在 R 2 15 2 中工作的函数时 从 R 3 0 开始我们得到一个错误 Error in C solarspectrum3 as double lon as doub
  • 单击并按住 R 中的按钮闪亮?

    我希望能够通过单击 R 闪亮按钮来更改参数的值 所以我需要按钮 一个用于增加值 一个用于减少值 我想在按住按钮的同时保持值以一定的速度减少 增加 通过释放按钮的点击 动作应该停止 到目前为止我还没有找到这个选项actionButtons在
  • 如何从 data.frame 中选择行和列的子集

    我有这个 d d Age gt 2 它返回 Age 超过 2 的所有行 但我只想返回几列中的值 例如 d X 和 d Y 而不是全部 无论如何我可以做到这一点吗 Thanks d d Age gt 2 c X Y
  • 有效地将环境从内部功能转移到全局环境

    我有一个在其中创建环境的函数 我希望将该环境分配给全局环境 目前我通过将环境分配给来做到这一点globalenv 作为最后一步 如下 funfun lt function inc 1 dataEnv lt new env dataEnv d
  • ggplot 中跨组的连续线

    我有一个数据时间序列 其中观察了一些数据 模拟了一些数据 我想生成整个数据系列随时间变化的图 其中颜色表示数据源 但是 我只能弄清楚如何使 ggplot 中的 geom line 连接同一组中的点 这是一个例子来说明 Create samp
  • R 中 write.table 文件名中的变量

    请帮助我解决一个幼稚的问题 已经用谷歌搜索 并尝试了很多变体 但失败了 如何使用 R 中 write table 的文件名中的变量保存文件 脚本循环遍历 dir 中的文件 应用一些函数 然后将结果保存到具有相同名称但附加结尾的文件中 谢谢
  • 将文本添加到 ggplot 中的轴标签

    我从下表中绘制了一个图表 BoatPhs fit se lower upper 1 Before 3 685875 0 3287521 3 038621 4 333130 2 After0 20NTA 3 317189 0 6254079
  • r Shiny 中的 fileInput 函数没有响应

    我是 R 和 R闪亮的新手 一直致力于构建一个统计应用程序 该应用程序将允许用户导入文件 然后对数据运行不同的统计程序 直到最近 fileData 函数一直对我来说运行良好 现在每当我尝试上传文件时 都不会打开任何内容 我已尝试了所有我能想
  • 使用 SparkR 1.5 从 RStudio 中的 hdfs 读取大文件(纯文本、xml、json、csv)的选项

    我是 Spark 新手 想知道除了下面的选项之外是否还有其他选项可以使用 SparkR 从 RStudio 读取存储在 hdfs 中的数据 或者我是否正确使用它们 数据可以是任何类型 纯文本 csv json xml 或任何包含关系表的数据

随机推荐

  • 超过 2^32 的枚举标志

    我在我的应用程序中使用枚举标志 枚举可以有大约 50 多个值 因此值最多为 2 50 我只是想知道我可以使用Math Pow 2 variable 来计算这些 当我尝试这样做时 我得到了恒定值编译时错误 除了手动计算 2 的幂并将其代入之外
  • 如何在 .vimrc 中换行?

    我已经设置了一个colorcolumn 80 但我发现我无法在 vimrc 中换行长行 有没有类似C的方法 连接 例如我尝试过这个 但它不起作用 autocmd FileType python setlocal ai si et sta s
  • Android Market - 两次更新之间的等待时间

    我想知道我必须等待多少次才能发布我的申请更新 我想确保更新会出现在 Android 市场的 新闻 部分 你正试图玩弄市场体系 不要那样做 在需要更新时更新您的应用程序 即当您有新功能或错误修复时 根据我的经验 更新太频繁会让现有用户生气 并
  • for 带有 Twig 或 Swig 的循环计数器

    任何人都知道在 Twig Swig 中执行此操作的干净方法 for i 0 i lt 100 i blah endfor 如果你有一个数字 那么你可以将其转换为数组 然后使用 Swig 的标签标准 如果您总是想从 0 开始循环 这是最简单的
  • 增加MongoDB最大连接数

    我在 MongoDB 端遇到一些错误 错误是抱怨它达到了允许的最大连接数 想知道是否有办法增加允许的最大连接数 查看 MongoDB 文档 http www mongodb org http www mongodb org 使用此命令行参数
  • javascript、jquery时间格式

    我有一个问题 如何在 javascript 或 Jquery 中将时间从 24 小时格式更改为 12 小时 最简单的方法 这就是我所拥有的 TempDate datepicker formatDate MM dd yy TempDate v
  • HelloAndroid模拟器问题

    我是第一次尝试 android SDK 我从 HelloAndroid 教程开始 完全遵循每个步骤 但模拟器在没有我的应用程序的情况下启动 日食控制台说 2010 02 23 11 47 55 HelloAndroid 2010 02 23
  • Google 表格复选框结果作为新行

    我们在谷歌表单上有复选框 可以将其输入到谷歌表格中 对复选框的响应以逗号分隔 我们想知道是否可以有新行 这是表单填充工作表的方式 Col A Col B Name Availability Larry Monday Sergey Monda
  • 将数据库表行直接反序列化为 C# 对象 - 有这样做的机制吗?

    我是 C 新手 这可能最终是一个愚蠢的问题 但无论如何我都需要问 C 是否有一种机制可以将执行的 SQL 语句的结果反序列化为 C 对象 我有一个 C 程序 它从 SQL 服务器读取一个表 将行存储在对象中 我手动将每个列值分配给对象成员
  • 如何保持实时 MediaSource 视频流同步?

    我有一个服务器应用程序 它渲染 30 FPS 视频流 然后将其实时编码和复用为WebM 字节流 https dvcs w3 org hg html media raw file tip media source webm byte stre
  • 在页面加载时使用 AngularJS 将 json 绑定到 HTML 表

    我有一个简单的概念验证 我用它作为学习一些 AngularJS 的基础 该代码在 HTML 表中显示一些 JSON 数据 如下所示 HTML div div p Click a here a to load data p table tr
  • 在go(golang)中,如何将接口指针转换为结构指针?

    我想使用一些需要指向结构的指针的外部代码 在调用代码时 我有一个接口变量 当从该变量创建指针时 指针的类型是interface 当我需要它作为结构类型的指针类型时 图像中的代码TestCanGetStructPointer 不知道 Cat
  • Laravel 5.2 致命错误:第 66 行的vendor/composer/autoload_real.php

    我已经上传了我的 laravel 项目local to host 现在我有以下错误 Fatal error require Failed opening required home httpd vhosts mort com httpdoc
  • Android StAX 游标解析器 - 找不到方法 javax.xml.stream.XMLInputFactory.newInstance

    我在用着AsyncTask从 i net 下载并解析 XML 内容 下载和解析 xml 发生在doInBackground 方法 这 达尔维克虚拟机 遇到问题 找不到方法 这是日志LogCat 06 30 13 26 41 148 DEBU
  • 如何在 android 中使用 viewpager 创建动态选项卡?

    解释 假设我有多个来自 REST 的类别 我不知道有多少个类别 可能是 5 7 个 有时是 2 个等 我想用 viewpager 将所有类别放在我的选项卡上 我想根据类别大小创建一个选项卡 让我们看看例如假设我的 REST 响应中只有 2
  • 为什么可以在 REPL 中声明同名变量?

    scala gt val hi Hello e hi String Hello e scala gt val hi go hi String go 在同一个 REPL 会话中 为什么它允许我声明具有相同名称的变量 hi scala gt h
  • Rails 3 中未初始化的常量 Bundler (NameError)

    当我尝试运行一些 rspec 测试用例时 我收到此错误 我正在使用linux Rails 3 0 0 ruby 1 9 2 带有RVM config boot rb 8 uninitialized constant Bundler Name
  • 如何从BeautifulSoup中的span标签获取文本

    我的链接看起来像这样 div class systemRequirementsMainBox div class systemRequirementsRamContent span title 000 Plus Minimum RAM Re
  • 如何更改 PHP 中的 NLS_DATE_FORMAT

    如何使用 PDO 更改 Oracle 数据库中的 NLS DATE FORMAT 到目前为止我有这个 date set DD MM YYYY HH24 MI SS query this gt conn gt prepare ALTER SE
  • navbarMenu 内的 navbarMenu 闪亮

    如果我在 Shiny 中使用以下 UI 我大致得到了我想要的输出 但它实际上并没有工作 因为最低级别的 navbarMenu 显示它的顶级标签和指示它可扩展的箭头 但无法注册子项目 我的猜测是因为这仅被设计为顶级元素 navbar菜单 我的