我的server.R文件中有一个输出:
output$thankYouText <- renderText({
totalActionCount <- as.numeric(input$yes + input$no)
if (totalActionCount > 0) {
paste("Thank you. Please see next recommendation.")
}
})
如果有人点击YES或NO按钮,则totalActionCount会增加,然后打印文本。我需要这个文本现在在说2秒后消失,并且只要有人点击按钮就重复这个模式。
答案 0 :(得分:1)
正如@GSee所说,你可以使用invalidateLater
完成此任务。
library(shiny)
runApp(list(
ui = bootstrapPage(
actionButton("yes", "YES!", icon = icon("thumbs-o-down")),
actionButton("no", "NO!", icon = icon("thumbs-o-up")),
textOutput('text')
),
server = function(input, output, session) {
values <- reactiveValues(tac = 0)
output$text <- renderText({
totalActionCount <- as.numeric(input$yes + input$no)
if (totalActionCount > 0) {
if(isolate(values$tac < totalActionCount)){
isolate(values$tac <- totalActionCount)
invalidateLater(2000, session)
return(paste("Thank you. Please see next recommendation."))
}else{
}
}
})
}
))