具有动态标题的addTooltip

时间:2018-12-19 14:33:53

标签: r shiny shinybs

我有一个带有输入滑块和输出表的闪亮应用程序。我想在输出表上放置一个工具提示,其文本包含来自输​​入滑块的输入,即工具提示文本随滑块的变化而动态更新。我无法正常工作。

library(shiny)
library(shinyBS)


ui <- fluidPage(
  sliderInput(inputId="inputValue",label="Input Value", 0,100, value=90, step=1),

  tableOutput(outputId="outputTableId")
)


server <- function(input, output, session) {
  renderTables <- observe({
    browser()
    output$outputTableId<-renderTable({
      data.frame("Output" = c(1,2,3) * input$inputValue)  
    })
    addTooltip(session, id="outputTableId", title=paste0("Tooltip text with dynamic ",input$inputValue,"% prediction interval"), placement="right")

  })


}

shinyApp(ui = ui, server = server)

在我的主应用程序中(太大,无法在此处发布),该工具提示正在工作并且正在更新,但是只有其他所有更新-滑块的其他每一次更改,该工具提示都不会显示,但是有时以正确的动态值工作。这可能与此question有关,可能是一个错误。

但是,当尝试为该问题创建可复制的示例时,我什至无法使其完全正常工作。

1 个答案:

答案 0 :(得分:1)

嗯,不明显。这是我找到的方式:

library(shiny)
library(shinyBS)

ui <- fluidPage(
  sliderInput(inputId="inputValue", label="Input Value", 0,100, value=90, step=1),
  div(
    id = "container",
    style = "display:inline-block",
    uiOutput("table")
  )
)


server <- function(input, output, session) {
  output$outputTableId <- renderTable({
    data.frame("Output" = c(1,2,3) * input$inputValue)  
  })

  output$table <- renderUI({
    tipify(
      tableOutput(outputId = "outputTableId"),
      title=paste0("Tooltip text with dynamic ", input$inputValue, "% prediction interval"),
      placement = "right",
      options = list(container = "#container"))
  })

}

shinyApp(ui = ui, server = server)