微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

闪亮仪表板 - 根据选定的选项卡更改仪表板主体

如何解决闪亮仪表板 - 根据选定的选项卡更改仪表板主体

现在当用户运行应用程序时,会显示所需的网站/仪表板主体,但是,我希望仅当用户侧边栏菜单的“选项卡 1”中选择“控制图”时才显示所需的网站/主体.这是因为我将有多个侧边栏选项卡,当根据用户选择的网站时,嵌入的网站应该会自动更改。当用户最初运行应用程序时,仪表板主体应该是空白的。只有当他们选择 Tab 1 -> Cell Culture -> Control Chart 时,他们才能看到 google 主页。 请帮忙!

    ui <-
    dashboardPage(
        skin = "black",dashboardHeader(title = "Dashboard ",titleWidth = 450),dashboardSidebar(sidebarMenu(
            menuItem(
                "Tab 1",tabName = "tab 1",icon = icon("medicine"),menuItem("Cell Culture",menuItem("Control Chart"))
            )
        )),dashboardBody(mainPanel(fluidRow(htmlOutput("frame"))
        ),))

server = function(input,output,session) {
    observe({
        test <<- paste0("https://google.com") #sample url
    })
    output$frame <- renderUI({
        input$Member
        my_test <- tags$iframe(src = test,height = 800,width = 800)
        print(my_test)
        my_test
    })
}
shinyApp(ui,server)

解决方法

您可以定义一个空白标签作为第一个 menuItem,然后您应该能够选择合适的 menuItem 来显示所需的对象。此外,您应该定义 tabName 以确保显示适当的对象并将其绑定到 dashboardBody 中,如下所示。试试这个

ui <-
  dashboardPage(
    skin = "black",dashboardHeader(title = "Dashboard ",titleWidth = 450),dashboardSidebar(sidebarMenu(
      menuItem("",tabName="home"),menuItem(
        "Tab 1",tabName = "tab 1",icon = icon("medicine"),menuItem("Cell Culture",menuItem("Control Chart",tabName = "mytab"))
      )
    )),dashboardBody(mainPanel(
      tabItems(
        tabItem(tabName = "home"),tabItem(tabName = "mytab",fluidRow(plotOutput("plot1"),htmlOutput("frame"))
        )
      )
      
    ),))

server = function(input,output,session) {
  #observe({
  #  test <- paste0("https://google.com") #sample url
  #})
  output$plot1 <- renderPlot(plot(cars))
  url <- a("Google Homepage",href="https://www.google.com/")
  output$frame <- renderUI({
    #input$Member
    my_test <- tags$iframe(href = url,height = 800,width = 800)
    print(my_test)
    print("Hello!")
    my_test
  })
}
shinyApp(ui,server)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。