Инициировать событие или вызвать функцию при инициализации - PullRequest
0 голосов
/ 21 марта 2020

У меня есть кнопка действия с наблюдателем, который загружает диаграмму и некоторые текстовые поля на основе предоставленного пользователем ввода. Когда нажимается кнопка, вызывается моя функция, и это хорошо. Однако я хотел бы, чтобы функция запускалась при первой загрузке страницы.

Я не уверен, стоит ли мне пытаться вручную вызвать событие (или как go сделать это) , или есть способ вызвать функцию при инициализации?

library(shiny)

ui <- fluidPage(
  actionButton("run", "Run"),
  textInput("input_field")
  plotOutput("plot")
)

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

  output$text1 <- renderText({
    return('text 1')
  })

  output$text2 <- renderText({
    //use input field to get correct data
    return(getTextOutput(input$input_field))
  })

  output$plot <- renderPlot({
     //use input field to get correct data
     plot(getChartData(input$input_field))
  })

  observeEvent(input$run, {
    populateScreen(input, output)
  })
}

shinyApp(ui, server)

1 Ответ

0 голосов
/ 23 марта 2020

Чтобы событие запускалось при его первом создании, добавьте ignoreInit = FALSE, ignoreNULL = FALSE в качестве параметров к observeEvent

observeEvent(input$submit_streaks, {
    populateStreaks(input, output)
}, ignoreInit = FALSE, ignoreNULL = FALSE)

Из документации ,

ignoreNULL = FALSE и ignoreInit = FALSE

Эта комбинация означает, что handlerExpr будет запускаться каждый раз, несмотря ни на что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...