我有一个
shiny
应用程序,其中两个 inputs
相互依赖,我可以在 print("Running")
中看到,当我将“A”更改为 +1
时,代码会执行两次。我确实理解为什么会发生这种情况,首先我更新 A
并运行代码,然后更新 B
并再次运行代码。是否可以只运行一次?
library(shiny)
ui <- fluidPage(
numericInput("a", "A", 0, step = 1),
numericInput("b", "B", 1, step = 1),
textOutput("sum")
)
server <- function(input, output, session) {
observeEvent(input$a, {
updateNumericInput(session = session, "b", value = input$a + 1)
})
sum_a_b <- reactive({
print("Running")
input$a + input$b
})
output$sum <- renderText(sum_a_b())
}
shinyApp(ui, server)
是的,使用:
isolate(input$a) + input$b