首页 > 解决方案 > 渲染函数返回的标签字符串

问题描述

我有一个构建 HTML 表并将代码作为字符串返回的函数。我从 renderUI 中调用这个函数并输出为 HTML,但 HTML 没有被解析,我只在输出中得到字符串作为纯文本。我需要在我的函数调用中添加任何内容吗?

ui <- fluidPage(

    fluidRow(
        column(width=3),
        column(width=6, htmlOutput('table')),
        column(width=3)
    )
)
server <- function(input, output) {

tables <- data.frame(c("exmpl1", "exmpl2"), c("abc", "def"))

        output$table <- renderUI({
            create.table(tables)
        })
}
create.table = function(tables) {
  rowCount <- c(1:nrow(tables))
  htmlTbl <-
    paste(
      "tags$table(
             tags$tr(
               tags$th('Col1'),
               tags$th('Col2'),
               tags$th('Col3')
             ),"
    )
  for (val in rowCount) {
    htmlTbl <- paste(htmlTbl,"tags$tr(
      tags$td(checkboxInput('check",val,"', NULL)),
      tags$td(tables[",val,", 1]),
      tags$td(tables[",val,", 2]))"
    )

  if (val != length(rowCount))
      htmlTbl <- paste(htmlTbl,",")
  }

  htmlTbl <- paste(htmlTbl,")")

  return(htmlTbl)
}

标签: rshiny

解决方案


推荐阅读