如何为使用 renderReactable 创建的 table 赋予标题

How to give title to a table created using renderReactable

当我在 R 中执行以下代码时,它运行良好。

example<- reactable(data.frame(country=c("argentina","brazil"),
                               value=c(1,2)
))
withtitle <- htmlwidgets::prependContent(example, 
                                         h2(class = "title", "Top CRAN Packages of 2019"))
print(withtitle)

但是,当我使用 shiny

执行相同的代码时
reactableOutput("table_1")  

output$table_1 <- renderReactable({

example<- reactable(data.frame(country=c("argentina","brazil"),
                               value=c(1,2)
))
withtitle <- htmlwidgets::prependContent(example, 
                                         h2(class = "title", "Top CRAN Packages of 2019"))

print(withtitle)

})

它给出错误:

Warning in renderWidget(instance) : Ignoring prepended content; prependContent can't be used in a Shiny render call

请指导我给上面的标题table和标题的其他参数,如背景颜色、字体颜色等。

您可以只在 ui 部分定义标题。也许你正在寻找这个

library(reactable)

ui <- fluidPage(
  h2("Top CRAN Packages of 2019"),
  reactableOutput("table_1")
)
 
server <- function(input, output) {
  output$table_1 <- renderReactable({
    
    example<- reactable(data.frame(country=c("argentina","brazil"),value=c(1,2)))

  })
}

shinyApp(ui = ui, server = server)

请注意,您的代码给了我同样的错误,但我在 RStudio 的查看器窗格中得到了正确的输出。

谢谢YBS。我从你的回答中得到了这个想法。我在 reactableOutput() 之前在 ui 中使用了 div() 文本,并且可以获得带有选择颜色和背景的标题。使用的代码如下:

            div("Top CRAN Packages of 2019", style = "text-align: center; 
                  background-color: #3380FF; color:yellow; font-size:200%"),
            reactableOutput("table_1")

再次感谢。