带有链接的闪亮仪表板反应表

时间:2019-02-24 16:31:21

标签: r shiny shinydashboard

我在Shinydashboard的一个标签(我们称为商店标签)中有一张客户表。我想为每个客户添加链接,这些链接会将您发送到Shinydashboard(客户标签)中的另一个标签,该标签将提供有关该特定客户的更多详细信息(主要是客户行为的图表)。通过复制客户ID并将其粘贴到“客户”选项卡中的搜索栏中可以轻松实现,但是我想知道是否可以更交互地进行操作->通过在商店选项卡中单击特定客户,仪表板发送您转到客户标签,并同时将客户ID填充到搜索栏中,因此将为您提供按客户ID过滤的所有图表。 欢迎所有建议。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以选择使用DT单击哪些行,列,单元格,有关使用DT with Shiny的文档非常丰富。然后,一旦选取,您就可以过滤客户列表,并使用updateTabsetPanel将用户发送到另一个标签。

下面的例子。

library(DT)
library(shiny)

df <- data.frame(
  customer = LETTERS[1:5],
  id = seq(1, 5)
)

ui <- navbarPage(
  "Stackoverflow",
  id = "tabs", # give id to use updateTabsetPanel
  tabPanel(
    "shop",
    h2("Customers are below"),
    DTOutput("table")
  ),
  tabPanel(
    "customer",
    uiOutput("customer")
  )
)

server <- function(input, output, session){
  output$table <- renderDT(df, selection = "single")

  observeEvent(input$table_rows_selected, {
    updateTabsetPanel(session = session, inputId = "tabs", selected = "customer")
  })

  output$customer <- renderUI({
    c <- df[input$table_rows_selected, "customer"]
    h2(paste("Hi I'm customer", c, "!"))
  })
}

shinyApp(ui, server)