【发布时间】:2021-07-23 21:58:10
【问题描述】:
我有一个简单的app,每次点击plus1,x值加1,每次点击plus10,x值加10。但是我想plus10只能是有效的点击plus1 后。而plus1被点击后,plus10只能被点击一次才能再次失效,这需要再次点击plus1才能生效。所以基本上我希望用户交替点击这两个按钮,在启动应用程序时需要先点击plus1。理想情况下,如果用户尝试点击plus10 而不先点击plus1,则会向用户发出警告:“请先点击 plus1”。
library(shiny)
ui <- fluidPage(
actionButton("plus1", "+ 1"),
actionButton("plus10", "+ 10"),
textOutput("value")
)
server <- function(input, output, session) {
x = reactiveVal(0)
observeEvent(input$plus1,{
x(x()+1) # increment x by 1
})
observeEvent(input$plus10,{
x(x()+10) # increment x by 1
})
output$value = renderText(x())
}
shinyApp(ui, server)
【问题讨论】: