我正在尝试在循环中更新div,其中一些包含图像。使用removeUI(...,Instant = TRUE)可以删除它们,然后将它们替换为新的div,并使用insertUI(...,Instant = TRUE)。尽管文本是实时显示的,但是直到我们退出循环后,图像才加载(请参见下面的示例,您甚至不必加载图像,循环结束后会出现问号)。
在我的浏览器中,我可以看到img标签是用HTML创建的,但是仍然没有图像实时显示。
以下是可重现的示例:
ui <- fluidPage(
actionButton("add","")
)
server <- function(input, output, session) {
for(i in 1:3){
Sys.sleep(1.5)
insertUI(
selector = "#add",
where = "afterEnd",
ui = div(style = paste0("width: 75px; height: 75px; background-color: white;"), h5("Text appears live", align = "center"),
div(h6("Text inside a div appears live")),
div(id = "img", img(src = "image.jpg", alt = "Images do not appear live")
)
),
immediate = TRUE
)
}
}
shinyApp(ui, server)
这是正常现象吗?如果是这样,他们是否可以绕过它并直接看到图像?另一种方法呢?