Как я могу изменить цвет заголовка tabPanel на стороне сервера? - PullRequest
1 голос
/ 19 июня 2019

В Shiny, на стороне пользовательского интерфейса, мой код:

mainPanel(uiOutput('my_tabsetpanel'))

и на стороне сервера у меня есть:

output$my_tabsetpanel <- renderUI({
    tabPanel(mytabtitle, DT::dataTableOutput(id))
})

Как я могу изменить только цвет заголовка вкладки?

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Вы можете заключить заголовок в div и изменить стиль.

Вот пример:

library(shiny)

ui <- fluidPage(
        mainPanel(uiOutput('my_tabsetpanel'))
)

server <- function(input, output) {
    output$my_tabsetpanel <- renderUI({
        tabsetPanel(tabPanel(div("mytabtitle", style = "color: red;"), "my content"))
    })
}

shinyApp(ui = ui, server = server)

Результат:

enter image description here

1 голос
/ 20 июня 2019

Вот как заголовки неактивных вкладок должны быть красного цвета, а заголовок активной вкладки синим цветом:

shinyApp(
  ui = fluidPage(
    tags$head(
      tags$style(
        HTML("li>a {color: red;} .nav-tabs>li.active>a {color: blue;}"))),
    mainPanel(
      tabsetPanel(
        tabPanel("Plot", p("plot")),
        tabPanel("Summary", p("summary")),
        tabPanel("Table", p("table"))
      )
    )
  ),
  server = function(...){}
)
...