Вывод не отображается в блестящем приложении с помощью Shinydashboard - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть sliderInput в menuItem, который можно перемещать, и выбранное число должно отображаться на экране.Ниже приведен код:

library(shiny)
library(shinydashboard)    

sidebar <- dashboardSidebar(
            sidebarMenu(
                # Setting id makes input$tabs give the tabName of currently-selected tab
                menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard"),
                         sliderInput("slider", "Slider Input", min = 0, max = 10, step = 1, value = 5))
                )
            )


body <- dashboardBody(
        tabItems(
            tabItem("dashboard", textOutput("Dashboard"))
            )
    )


ui <- dashboardPage(
    dashboardHeader(),
    sidebar,
    body)

server <- function(input, output, session) {
    output$Dashboard <- renderText({
        paste("You've selected:", input$slider)
    })
}

shinyApp(ui, server)

В идеале я должен видеть выбранное число, но этого не происходит, не в состоянии выяснить, где я иду не так.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Похоже, что есть проблема, когда есть вход внутри menuItem.Вы можете сделать:

sidebar <- dashboardSidebar(
  sidebarMenu(
    id="tabs",
    menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")), 
    conditionalPanel(
      "input.tabs == 'dashboard'",
      sliderInput("slider", "Slider Input", 
                  min = 0, max = 10, step = 1, value = 5))
  )
)
0 голосов
/ 24 сентября 2018

Ниже приведен код, который работает.

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    sidebarMenu(
      menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard"),
               sliderInput("slider", "Slider Input", min = 0, max = 10, step = 1, value = 5))
    )
  ),
  dashboardBody(
    textOutput("dashboard")

  ))

server <- function(input, output, session) {
  output$dashboard <- renderText({
    paste("You've selected:", input$slider)
  })
}

shinyApp(ui, server)
...