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