更新闪亮的动作链接的颜色
Update color of actionlink in shiny
我想在单击 actionLink 后更改它的颜色。我找不到任何可以实现此目的的 post。
我发现了什么:
但这些都无济于事。这是第一个 link(来自@Julien Navarre)的答案的示例代码
library(shiny)
library(shinyjs)
shinyApp(
ui = shinyUI(
fluidPage(useShinyjs(),
actionLink("button", "Show additional"),
hidden(div(id='text_div', verbatimTextOutput("text")))
)
),
server = function(input, output, session){
observeEvent(input$button, {
toggle('text_div')
output$text <- renderText({"Additional"})
if (input$button %% 2 == 1) {
txt <- "Hide Additional"
} else {
txt <- "Show Additional"
}
updateActionButton(session, "button", label = txt)
})
}
)
在这段代码中,一旦标签改变,标签的颜色也应该改变。例如,Show Additional
link 应该是绿色,而 Hide Additional
应该是红色。
我用 color
参数试过 updateactionLink
但没有这样的参数。
我怎样才能做到这一点?
一种方法是使用来自 {shinyjs} 的 css 和 addClass
、removeClass
:
library(shiny)
library(shinyjs)
shinyApp(
ui = shinyUI(
fluidPage(useShinyjs(),
tags$head(
tags$style(HTML("
a.action-button {
color: #00ff00;
}
a.action-button.red {
color: #ff0000;
}"))
),
actionLink("button", "Show additional"),
hidden(div(id='text_div', verbatimTextOutput("text")))
)
),
server = function(input, output, session){
observeEvent(input$button, {
if (input$button %% 2 == 1) {
txt <- "Hide Additional"
shinyjs::addClass("button", "red")
} else {
txt <- "Show Additional"
shinyjs::removeClass("button", "red")
}
toggle('text_div')
output$text <- renderText({"Additional"})
updateActionButton(session, "button", label = txt)
})
}
)
我想在单击 actionLink 后更改它的颜色。我找不到任何可以实现此目的的 post。
我发现了什么:
但这些都无济于事。这是第一个 link(来自@Julien Navarre)的答案的示例代码
library(shiny)
library(shinyjs)
shinyApp(
ui = shinyUI(
fluidPage(useShinyjs(),
actionLink("button", "Show additional"),
hidden(div(id='text_div', verbatimTextOutput("text")))
)
),
server = function(input, output, session){
observeEvent(input$button, {
toggle('text_div')
output$text <- renderText({"Additional"})
if (input$button %% 2 == 1) {
txt <- "Hide Additional"
} else {
txt <- "Show Additional"
}
updateActionButton(session, "button", label = txt)
})
}
)
在这段代码中,一旦标签改变,标签的颜色也应该改变。例如,Show Additional
link 应该是绿色,而 Hide Additional
应该是红色。
我用 color
参数试过 updateactionLink
但没有这样的参数。
我怎样才能做到这一点?
一种方法是使用来自 {shinyjs} 的 css 和 addClass
、removeClass
:
library(shiny)
library(shinyjs)
shinyApp(
ui = shinyUI(
fluidPage(useShinyjs(),
tags$head(
tags$style(HTML("
a.action-button {
color: #00ff00;
}
a.action-button.red {
color: #ff0000;
}"))
),
actionLink("button", "Show additional"),
hidden(div(id='text_div', verbatimTextOutput("text")))
)
),
server = function(input, output, session){
observeEvent(input$button, {
if (input$button %% 2 == 1) {
txt <- "Hide Additional"
shinyjs::addClass("button", "red")
} else {
txt <- "Show Additional"
shinyjs::removeClass("button", "red")
}
toggle('text_div')
output$text <- renderText({"Additional"})
updateActionButton(session, "button", label = txt)
})
}
)