【问题标题】:How to change the title color in shinydashboard from server using shinyjs如何使用shinyjs从服务器更改shinydashboard中的标题颜色
【发布时间】:2023-03-24 17:54:01
【问题描述】:

我想从服务器部分更改闪亮仪表板中标题的标题。简单的文本,例如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)

【问题讨论】:

    标签: r shiny shinydashboard shinyjs


    【解决方案1】:
    1. 你忘了图书馆shinyjs
    2. 最好将 shinyjs useShinyjs() 加载到正文中。
    3. 对于标题,不能简单地添加红色类。原始样式表有一个更强大的选择器,可以防止您更改颜色。我们需要使用内联样式,它具有几乎最高优先级来覆盖颜色。
    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 完成所有这些操作。

    【讨论】:

    • 非常感谢您的回答,它不适用于我的电脑,我将所有软件包更新到最新版本。我的 R 版本是 4.1.0。
    • 感谢您让我知道。他们更新了shinydashboard。现在他们稍微改变了选择器。我编辑了答案,再试一次。
    • 非常感谢。 id 选择器在这里似乎不起作用。类 seleftor .logo 作品
    猜你喜欢
    • 1970-01-01
    • 2018-02-04
    • 2021-06-13
    • 1970-01-01
    • 2023-03-06
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多