11

我正在使用 renderTable 创建一个表,但表内的 HTML 未呈现:

表格未呈现

这是感兴趣的代码片段:

if (is.null(Compare_Count) || is.na(Compare_Count) || length(Compare_Count) == 0L ) {
          CT_Table[i, 3] <- HTML("<i class='icon-arrow-up'></i>")
        } else if (CT_Table[i, 2] > Compare_Count) {
          CT_Table[i, 3] <- print(tags$i(class='icon-arrow-up', style="text-color: green"), quote = FALSE)
}

HTML, paste, 也不工作c

我怎样才能让箭头显示?

谢谢!


server.r: [注意,这是一个例子。代码不完整,括号可能不匹配等。对问题不重要。]

output$example <- renderTable(include.rownames=FALSE,{
 CT_Table <- count(Canidates,vars=c("Name"))
 CT_Table <- CT_Table[order(CT_Table["Recent Reviews: "], decreasing=T),]
    for (i in 1:nrow(CT_Table)) {
      Compare_Name <- paste(CT_Table$Product[i])
      Compare_Count <- Can_trend[Can_trend$Name == Compare_Name, 2]
        if (is.null(Compare_Count) || is.na(Compare_Count) || length(Compare_Count) == 0L ) 
{
          CT_Table[i, 3] <- HTML("<i class='icon-arrow-up'></i>")
        } else if (CT_Table[i, 2] > Compare_Count) {
          CT_Table[i, 3] <- tags$i(class='icon-arrow-up', style="text-color: green")
        } else if (CT_Table[i, 2] < Compare_Count) {
          CT_Table[i, 3] <- tags$i(class='icon-arrow-down', style="text-color: red")
        } else if (CT_Table[i, 2] == Compare_Count) {
          CT_Table[i, 3] <- tags$i(class='icon-minus', style="text-color: yellow")
        }
     }
  }
 CT_Table
})

ui.r只是对tableOutputor的简单调用htmlOutput,但都不会呈现粘贴到列中的 html。

4

1 回答 1

14

这是用sanitize.text.function = function(x) x;

它需要像这样包含:

output$example <- renderTable({
   table <- someTable_Data_here
   table
}, sanitize.text.function = function(x) x) 

这是这里的要点


另外,一个注释,

我注意到您可以在函数xtable内部调用renderTable,它会正确呈现表格。

但是您应该注意,您传递的选项xtable无效!相反,您需要将这些选项传递给“renderTable”函数。

所以如果你想这样称呼:

output$example <- renderTable({
   table <- someTable_Data_here
   xtable(table, align=c("llr"))
}, sanitize.text.function = function(x) x) 

你需要做的是:

output$example <- renderTable({
   table <- someTable_Data_here
   table
},align=c("llr"), sanitize.text.function = function(x) x) 

RStudio 团队和 RShiny 人很棒。我确信大量的文档仍在编写中,我希望这同时对某人有所帮助。

于 2013-09-27T17:38:42.510 回答