当两个颜色选择器使用 splitLayout 并排使用时,颜色映射会被隐藏。可以使用tags$style...HTML()
轻松修复任何想法吗?
以下是一个例子:
library(shiny)
library(colourpicker)
shinyApp(
ui = fluidPage(
sidebarPanel(
splitLayout(
colourInput("PlotThemeColour1",
"Plot theme shade 1",
"#C2C2C2"),
colourInput("PlotThemeColour2",
"Plot theme shade 2",
"#E5E5E5"))),
mainPanel(textOutput("myCols"))
),
server = function(input, output, session) {
output$myCols <- renderText({
paste(input$PlotThemeColour1, "and", input$PlotThemeColour2)
})
})
答案 0 :(得分:6)
我不确定修复它的正确方法是什么。但一个快速的解决方法是覆盖导致它的CSS。目前,该{c} .shiny-split-layout>div
overflow
的值设置为auto
,shiny.css
中存在此值,因此使用内联css以overflow:visible
覆盖它似乎解决了这个问题。
library(shiny)
library(colourpicker)
shinyApp(
ui = fluidPage(
tags$style(HTML('.shiny-split-layout>div {
overflow:visible;
}')),
sidebarPanel(
splitLayout(
colourInput("PlotThemeColour1",
"Plot theme shade 1",
"#C2C2C2"),
colourInput("PlotThemeColour2",
"Plot theme shade 2",
"#E5E5E5"))),
mainPanel(textOutput("myCols"))
),
server = function(input, output, session) {
output$myCols <- renderText({
paste(input$PlotThemeColour1, "and", input$PlotThemeColour2)
})
})
方法#2:
使用cellArgs
的{{1}}来覆盖单个单元格css。
splitLayout
答案 1 :(得分:3)
splitLayout
有cellArgs
可以阻止您的溢出:
library(shiny)
library(colourpicker)
shinyApp(
ui = fluidPage(
sidebarPanel(
splitLayout(cellArgs = list(style = "overflow: visible;"),
colourInput("PlotThemeColour1",
"Plot theme shade 1",
"#C2C2C2"),
colourInput("PlotThemeColour2",
"Plot theme shade 2",
"#E5E5E5"))),
mainPanel(textOutput("myCols"))
),
server = function(input, output, session) {
output$myCols <- renderText({
paste(input$PlotThemeColour1, "and", input$PlotThemeColour2)
})
})