如何使用 shinyjs 从服务器更改 shinydashboard 中的标题颜色
How to change the title color in shinydashboard from server using shinyjs
我想从服务器部分更改 shinydashboard 中 header 的标题。简单的文本,例如p(),可以改,而标题好像没改。
library(shinydashboard)
library(shiny)
header <- dashboardHeader(title='want to be red') |>
tagAppendAttributes(id='nn',.cssSelector = 'span')
side <- dashboardSidebar(
useShinyjs(),
inlineCSS(list('.red' = "color: red")),
p(id = "p", "to red color")
)
body <- dashboardBody()
ui <- dashboardPage(header,side,body,title = 'nhanesR')
server <- function(input, output, session){
toggleClass(id = 'nn', "red")
toggleClass(id = 'p', "red")
}
shinyApp(ui,server)
- 你忘了图书馆
shinyjs
- 最好在 body 中加载 shinyjs
useShinyjs()
。
- 对于标题,你不能简单地添加红色class。原始样式表具有更强大的选择器,可以防止您更改颜色。我们需要使用内联样式,它具有几乎最高的优先级来覆盖颜色。
library(shinydashboard)
library(shiny)
library(shinyjs)
header <- dashboardHeader(title='want to be red') |>
tagAppendAttributes(id='nn',.cssSelector = 'span')
side <- dashboardSidebar(
inlineCSS(list('.red' = "color: red")),
p(id = "p", "to red color")
)
body <- dashboardBody(
useShinyjs()
)
ui <- dashboardPage(header,side,body,title = 'nhanesR')
server <- function(input, output, session){
runjs('$("#nn").css("color", "red")')
toggleClass(id = 'p', "red")
}
shinyApp(ui,server)
除非您想动态更改它,否则不确定为什么要使用 shinyjs 来执行此操作。我们可以在 UI.
上用 tags$style
完成所有这些
我想从服务器部分更改 shinydashboard 中 header 的标题。简单的文本,例如p(),可以改,而标题好像没改。
library(shinydashboard)
library(shiny)
header <- dashboardHeader(title='want to be red') |>
tagAppendAttributes(id='nn',.cssSelector = 'span')
side <- dashboardSidebar(
useShinyjs(),
inlineCSS(list('.red' = "color: red")),
p(id = "p", "to red color")
)
body <- dashboardBody()
ui <- dashboardPage(header,side,body,title = 'nhanesR')
server <- function(input, output, session){
toggleClass(id = 'nn', "red")
toggleClass(id = 'p', "red")
}
shinyApp(ui,server)
- 你忘了图书馆
shinyjs
- 最好在 body 中加载 shinyjs
useShinyjs()
。 - 对于标题,你不能简单地添加红色class。原始样式表具有更强大的选择器,可以防止您更改颜色。我们需要使用内联样式,它具有几乎最高的优先级来覆盖颜色。
library(shinydashboard)
library(shiny)
library(shinyjs)
header <- dashboardHeader(title='want to be red') |>
tagAppendAttributes(id='nn',.cssSelector = 'span')
side <- dashboardSidebar(
inlineCSS(list('.red' = "color: red")),
p(id = "p", "to red color")
)
body <- dashboardBody(
useShinyjs()
)
ui <- dashboardPage(header,side,body,title = 'nhanesR')
server <- function(input, output, session){
runjs('$("#nn").css("color", "red")')
toggleClass(id = 'p', "red")
}
shinyApp(ui,server)
除非您想动态更改它,否则不确定为什么要使用 shinyjs 来执行此操作。我们可以在 UI.
上用tags$style
完成所有这些