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