Обновлять только когда я изменяю выбор - PullRequest
0 голосов
/ 25 мая 2020

Я создаю приложение, которое требует изменения значений при изменении selectinputs. В приведенном ниже коде obserevent автоматически изменяет значение с входным выражением. Этого не должно быть, так как в начале будет значение по умолчанию, но оно изменится только в том случае, если я изменю выбор.

  ui <- fluidPage(
         selectInput("Year", "Year", c(2016:2020)),

      # Setting a default value

         numericInput("num1", "Number",NA, value = 1234615, step = 1)
  )

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

   # Update to value 56 only if I change year selection
   # In this case the value is automatically updated if we have input$Year but it 
   # should be only when I change the input$Year from the dropdown selectInput value 

   observeEvent(input$Year,{
       updateNumericInput(session,"num1","Number",value = 56, step = 1)
  })

}

shinyApp(ui,server) 

Я надеюсь, что все, просматривающие этот код, поймут мою точку зрения. Пожалуйста, помогите мне решить эту проблему, так как я не могу найти способ заставить приложение выполнять эту конкретную c задачу.

Заранее спасибо.

1 Ответ

1 голос
/ 25 мая 2020

observeEvent имеет такие параметры, как ignoreInit, который по умолчанию установлен на FALSE, поэтому измените его на TRUE, это должно быть то, что вы хотите

Наблюдать за событием (eventExpr, handlerExpr, event.env = parent.frame (),
event.quoted = FALSE, handler.env = parent.frame (), handler.quoted = FALSE, label = NULL, приостановлено = FALSE, priority = 0, domain = getDefaultReactiveDomain (), autoDestroy = TRUE, ignoreNULL = TRUE, ignoreInit = FALSE, once = FALSE)


observeEvent(input$Year,{
    updateNumericInput(session,"num1","Number",value = 56, step = 1)
},ignoreInit = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...