我使用package esquisse
创建输入,我想知道如何更改徽章的大小、颜色、文本和徽章颜色?
if (interactive()) {
library("shiny")
library("esquisse")
ui <- fluidPage(
tags$h2("Demo dragulaInput"),
tags$br(),
dragulaInput(
inputId = "dad",
sourceLabel = "Old",
targetsLabels = c("New"),
choices = levels(iris[,"Species"]),
width = "250px",
height = "100px",
status = "danger"
),
verbatimTextOutput(outputId = "result")
)
server <- function(input, output, session) {
output$result <- renderPrint({
new_level <- input$dad$target$New
new_level_1 <- c(new_level,input$dad$source)
})
}
shinyApp(ui = ui, server = server)
}
发布于 2020-09-03 20:16:28
您必须更改徽章的css属性。如果您检查徽章html,您将看到它们都在一个带有id=label-dragula label label-danger
的<span>
标记中。
由于跨度标签不响应高度和宽度指令,您必须将其转换为内联块元素来更改大小(感谢this post)。所有这些都是在tags$style()
函数中完成的-宽度和高度不言而喻,背景颜色是徽章的颜色,颜色是文本的颜色。
library("shiny")
library("esquisse")
ui <- fluidPage(
tags$h2("Demo dragulaInput"),
tags$br(),
tags$style("
span.label-danger{
display: inline-block;
width: 75px;
height: 75px;
background-color: blue;
color: red;
font-size: 25px;
}
"),
dragulaInput(
inputId = "dad",
sourceLabel = "Old",
targetsLabels = c("New"),
choices = levels(iris[,"Species"]),
width = "250px",
height = "200px",
status = "danger"
),
verbatimTextOutput(outputId = "result")
)
server <- function(input, output, session) {
output$result <- renderPrint({
new_level <- input$dad$target$New
new_level_1 <- c(new_level,input$dad$source)
})
}
shinyApp(ui = ui, server = server)
https://stackoverflow.com/questions/63729957
复制相似问题