Как прослушать более одной кнопки действия в ShinyObserveEvent, чтобы перезагрузить блестящий

Вот вопрос, у меня есть две динамически отображаемые кнопки действий, которые предназначены для перезагрузки сеанса, но у меня проблемы с их прослушиванием, это похоже на действие ИЛИ, каждая из них нажимается, а затем сеанс перезагружается. Вот код:

ui <- shinyUI(bootstrapPage(
  p('cbldwbvkdj'),
  uiOutput('aa')
  )
)

server <- shinyServer(function(input, output, session) {
  output$aa<-renderUI({
    actionButton("test1", "test1")
    actionButton("test2", "test2")
  })
  observeEvent(paste0(input$test1, input$test2), {
    session$reload()
  }, ignoreInit = T)
})

shinyApp(ui, server)

person Ron Lee    schedule 08.11.2020    source источник


Ответы (1)


Вы можете добавить req к observeEvent:

library(shiny)
ui <- shinyUI(
    bootstrapPage(
        p('cbldwbvkdj'),
        uiOutput('aa')
    )
)

server <- shinyServer(function(input, output, session) {
    
    output$aa <- renderUI({
        tagList(
            actionButton("test1", "test1"),
            actionButton("test2", "test2")
        )
    })
    
    observeEvent(list(input$test1, input$test2),{
        req(input$test1!=0 | input$test2 !=0)
        session$reload()
    }, ignoreInit = TRUE,ignoreNULL = TRUE)
})

shinyApp(ui, server)
person Pork Chop    schedule 08.11.2020
comment
@RonLee stackoverflow.com/help/someone-answers - person Pork Chop; 09.11.2020