在Shiny中为循环中的框呈现HTML内容,可以通过使用renderUI
函数和uiOutput
函数来实现。
首先,需要在server
函数中使用renderUI
函数来生成动态的UI元素。在循环中,可以使用lapply
函数来遍历需要呈现的HTML内容,并将每个HTML内容包装在div
标签中。然后,将生成的HTML内容列表传递给renderUI
函数。
以下是一个示例代码:
library(shiny)
ui <- fluidPage(
uiOutput("htmlOutput")
)
server <- function(input, output) {
output$htmlOutput <- renderUI({
htmlList <- lapply(1:5, function(i) {
html <- paste0("<div>HTML内容", i, "</div>")
tags$div(HTML(html))
})
do.call(tagList, htmlList)
})
}
shinyApp(ui, server)
在上述代码中,我们使用lapply
函数遍历1到5的数字,并生成相应的HTML内容。然后,使用tags$div
函数将HTML内容包装在div
标签中,并使用HTML
函数将其转换为HTML格式。最后,使用do.call(tagList, htmlList)
将生成的HTML内容列表合并为一个整体。
这样,循环中的HTML内容就会在Shiny应用程序中呈现出来。
领取专属 10元无门槛券
手把手带您无忧上云