倒计时完成后,此代码应在/ www目录中呈现sing.jpg图像。这可以呈现普通文本但带有图像-正如我已经实现的那样-我收到以下错误:
参数1(类型为“ closure”)不能由“ cat”处理
这是为什么?
library(shiny)
library(shinyjs)
ui <- fluidPage(
actionButton("do", "Click Me"),
verbatimTextOutput("eventTimeRemaining")
)
server <- function(input, output, session) {
EventTime <- reactiveVal()
observeEvent(input$do,{
EventTime(Sys.time() + 3)
})
output$eventTimeRemaining <- renderText({
req(input$do)
timeLeft <- round(difftime(EventTime(), Sys.time(), units='secs'))
if(timeLeft > 0){
invalidateLater(1000, session)
msg <- timeLeft
} else {
msg <- renderImage({
# Return a list containing the filename
list(src = './sing.jpg')
}, deleteFile = FALSE)
}
msg
})
}
shinyApp(ui, server)
答案 0 :(得分:0)
我会在ui
中创建一个单独的输出,例如imageOutput
,以显示您的图像。另外,我将timeLeft
设为一个单独的reactive
表达式,eventTimeRemaining
可以同时显示msg
和output
(一个单独的{{1} }创建)。
我不确定您要如何处理初始条件-我将默认的EventTime
设置为Sys.time()
,但是如果您使用NULL或不初始化,则需要在{中检查NULL {1}}和output
计算。
timeLeft