У меня есть приложение с двумя вкладками, каждая из которых имеет кнопку действия. Я хочу, чтобы тот же процесс запускался при нажатии любой кнопки. Поэтому я написал это следующим образом:
library(shiny)
ui <- fluidPage(
tabsetPanel(
tabPanel("tab1",
actionButton("btn1","Button 1"),
textOutput("text")
),
tabPanel("tab2",
actionButton("btn2","Button 2")
)
)
)
server <- function(input, output) {
data=eventReactive(c(input$btn1,input$btn2),{
print("Button is pressed!")
print(input$btn1)
print(input$btn2)
iris
})
output$text=renderText({
req(data())
print(head(data()))
"Really? Button is pressed!"
})
}
# Run the application
shinyApp(ui = ui, server = server)
И я не понимаю, почему выражение eventReactive
запускается при инициализации приложения до нажатия любой кнопки.
Если я работаю только с 1 кнопкой, то есть input$btn1
вместо c(input$btn1, input$btn2)
, то я получаю ожидаемое поведение, но не с 2 зависимостями.
Может ли кто-нибудь просветить меня?