R Shiny:格式化tableOutput中的文本

时间:2018-09-03 14:02:08

标签: r shiny format output

考虑以下非常简单的闪亮应用程序,该应用程序输出存储在数据框df中的文本表:

library(shiny)

df <- data.frame(id=1:3,
                   text=c('It was a good day today', 'It is good to hear from you', 'I am feeling good'),
                   stringsAsFactors = FALSE)

ui <- fluidPage(
  tableOutput("freetext")
)

server <- function(input, output){
  output$freetext <- renderTable({ df })
}

shinyApp(ui=ui, server=server)

我希望每行中的“好”一词显示为红色。使用tableOutput可以做到吗?

我已经看到诸如this one之类的帖子,建议在textOutput函数中将htmlOutput替换为ui,但是我不确定如何将其扩展到一个文字。

1 个答案:

答案 0 :(得分:1)

如果使用htmlTable,则可以在表中包括一些HTML。例如:

library(shiny)
library(htmlTable)

df <- data.frame(
  id=1:3,
  text=c('It was a <span style="color:red;">good</span> day today', 
         'It is good to hear from you', 
         'I am feeling good'),
  stringsAsFactors = FALSE)

ui <- fluidPage(
  htmlTableWidgetOutput("freetext")
)

server <- function(input, output){
  output$freetext <- renderHtmlTableWidget({ 
    htmlTableWidget(df) 
  })
}

shinyApp(ui=ui, server=server)

enter image description here