在 Shiny 中将 Tooltip 添加到 navbarMenu

Posted

技术标签:

【中文标题】在 Shiny 中将 Tooltip 添加到 navbarMenu【英文标题】:Add Tooltip to navbarMenu in Shiny 【发布时间】:2018-05-10 13:19:40 【问题描述】:

我想在 Shiny 应用中为 navbarMenu 添加一个工具提示。类似的问题问here,但没有答案。这是我的可重现代码

library(shiny)
library(shinyBS)

ui <- shinyUI(fluidPage(
       sidebarLayout( 
           sidebarPanel(),

           mainPanel(tabsetPanel(

             navbarMenu("Tab1",bsTooltip(id="Tab1", title="Short description  for the tab", trigger = "hover"), 
                 tabPanel("Tab1.1"),       
                 tabPanel("Tab1.2")),

            tabPanel("Tab2",tabsetPanel(
                       tabPanel("Tab2.1"),       
                       tabPanel("Tab2.2"))),

            tabPanel("Tab3",tabsetPanel(
                       tabPanel("Tab3.1"),
                       tabPanel("Tab3.2"),
                       tabPanel("Tab3.3")))
)))))
server <- function(input, output) 
shinyApp(ui = ui, server = server)

在我的研究过程中,我发现了这个解决方案 R Shiny: Use navbarPage with bsModal by shinyBS,但适用于 bsModel。 此外,还有一个基于 java-script 的程序here。我知道这两种解决方案都适用于 tabpanel,但我相信这是同一个问题,即 navbarMenu 和 tabpanel 没有 id。 我是统计学家,我没有 html 或 java 脚本背景来重写选项卡标题或 navbarMenu 的属性。 我希望我能清楚地表达我的问题。提前感谢您的时间和善意的帮助。

【问题讨论】:

【参考方案1】:

您可以使用 HTML wenn 传递选项卡的标题。在这种情况下,我只是将标题放在一个跨度中并添加属性title这是HTML使用默认鼠标悬停的属性。对我来说,尝试将它添加到 ShinyBS 上要简单得多。

library(shiny)
library(shinyBS)

ui <- shinyUI(fluidPage(
  sidebarLayout( 
    sidebarPanel(),

    mainPanel(tabsetPanel(

      navbarMenu(span("Tab1",title="Short description  for the tab" ),
                 tabPanel("Tab1.1"),       
                 tabPanel("Tab1.2")),

      tabPanel("Tab2",tabsetPanel(
        tabPanel("Tab2.1"),       
        tabPanel("Tab2.2"))),

      tabPanel("Tab3",tabsetPanel(
        tabPanel("Tab3.1"),
        tabPanel("Tab3.2"),
        tabPanel("Tab3.3")))
    )))))
server <- function(input, output) 
shinyApp(ui = ui, server = server)

希望这会有所帮助!

【讨论】:

非常感谢。它也适用于标签面板。能否请您更新另一个问题“Add Tooltip to Tab in Shiny”,仅供未来的读者参考。 我也对其他问题发布了相同的答案

以上是关于在 Shiny 中将 Tooltip 添加到 navbarMenu的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Shiny 的 ConditionalPanel 中将列表添加到隐藏的选项中?

向 Shiny 中的禁用按钮添加工具提示?

在 Shiny 的 pickerInput 中将答案下拉框移到右侧

在 Shiny 中将数据从 rhandsontable 对象转换为数据框

是否可以在 Shiny 中将 eventReactive 用于超过 1 个 checkboxInput?

在 R/Shiny 中将输出组件设置为空