7
在类似的帖子(How to align a group of checkboxGroupInput in R Shiny)中,复选框仅垂直对齐(如我的示例中)或仅水平对齐(R Shiny display checkboxGroupInput horizontally)。我想知道是否有办法在两种意义上实现这一点(当在列中)。垂直和水平对齐checkBoxGroupInput
library(shiny)
examplesubset<-read.table(text="
elements locations
element_One A,M,P,R
element_Two A,B,C,M,P,E,I
element_Three G,M,T,F,O,H,A,B,C,D" , header=TRUE, stringsAsFactors=FALSE)
examplesubset$elements<-as.factor(examplesubset$elements)
ui<-fluidPage(
tags$head(tags$style(HTML("
.multicol {
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
-moz-column-fill: auto;
-column-fill: auto;
}
"))),
titlePanel("Panel"),
sidebarLayout(
sidebarPanel(
selectInput("elements", "Select elements:",
choices=examplesubset$elements)
) ,
mainPanel(
fluidRow(
column(3,
uiOutput("checkboxesui")
))))
)
server<-function(input, output,session) {
elementsselected<-reactive({
sp<-examplesubset[examplesubset$elements==input$elements,]
sp<-droplevels(sp)
})
locationsreactive<- reactive({
j<-as.factor(unique(unlist(strsplit(elementsselected()$locations, ",", fixed = TRUE))))
j<-droplevels(j)
})
output$checkboxesui<-renderUI({
tags$div(align = 'left',
class = 'multicol',
checkboxGroupInput("locationscheckboxes", "locations",
choices=levels(locationsreactive())
, selected=c())
)
})
}
shinyApp(ui = ui, server = server)
我可以在几个小时内看到这个铬,当我将在一台镀铬计算机上编辑我的答案。我认为firefox和opera认为他们很聪明,只使用两列,因为只有四个项目。如果您添加一个或拿走一个,它会回到三列。 –
请参阅我的更新回答 –
thx,网格填充顺序有一些首选列,而不是行。这就是为什么一些奇怪的行为4,7,10元等等。 – Ferroao