Когда панель инструментов находится внутри кнопки действия, она показывает результат, когда кнопка нажата дважды - PullRequest
0 голосов
/ 13 мая 2019

В моем коде, когда я нажимаю кнопку загрузки сценария, он показывает страницу панели инструментов, когда кнопка загрузки сценария нажимается дважды. Я хочу, чтобы моя панель управления отображалась одним щелчком мыши. Может кто-нибудь помочь. Вот мой код*

Пожалуйста, не обращайте внимания на кнопку создания сценария. Еще одна помощь, которая не относится к теме, я могу добавить немного цвета на панель инструментов, поскольку она не очень привлекательна.

1 Ответ

0 голосов
/ 19 мая 2019

Вам нужно установить ignoreNULL = FALSE для вашего observeEvent:

library("shiny")
library("shinydashboard")

ui <- fluidPage(
  actionButton("create_scenario", "Create Scenario"),
  actionButton("load_scenario","load scenario"),
  uiOutput("input"),
  uiOutput("inputs")
)

server <- function(input, output,session) {

  observeEvent(input$create_scenario, {
    output$input <- renderUI({
      textInput("txtInput","Enter Scenario Name","Enter name as scenario         
              (number of senario created +1)")
    })
  })

  observeEvent(input$load_scenario, {

    output$inputs <- renderUI({
      # textInput("txtInput","Enter Scenario Name","Enter name as scenario  
      #(number of senario created +1)")
      dashboardPage(
        dashboardHeader(title = "Basic dashboard"),
        dashboardSidebar(),
        dashboardBody(
          # Boxes need to be put in a row (or column)
          fluidRow(
            box(plotOutput("plot1", height = 250)),

            box(
              title = "Controls",
              sliderInput("slider", "Number of observations:", 1, 100, 50)
            ))))
    })

    histdata <- rnorm(500)
    output$plot1 <- renderPlot({
      data <- histdata[seq_len(input$slider)]
      hist(data)
    })

  }, ignoreNULL = FALSE)
}

shinyApp(ui, server)
...