Trong hộp kiểm tương tự (How to align a group of checkboxGroupInput in R Shiny) được căn chỉnh theo chiều dọc (như trong ví dụ của tôi) hoặc chỉ theo chiều ngang (R Shiny display checkboxGroupInput horizontally). Tôi tự hỏi nếu có một cách để thực hiện điều này trong cả hai giác quan (khi ở trong cột).Align checkBoxGroupInput theo chiều dọc và chiều ngang
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)
Tôi có thể xem xét điều này trong chrome sau một vài giờ khi tôi sử dụng máy tính có chrome và chỉnh sửa câu trả lời của mình. Tôi nghĩ rằng firefox và opera nghĩ rằng họ đang được thông minh và chỉ sử dụng hai cột, bởi vì chỉ có bốn mục. Nếu bạn thêm một hoặc lấy một đi nó trở lại ba cột. –
Vui lòng xem câu trả lời được cập nhật của tôi –
thx, thứ tự lấp đầy lưới có một số tùy chọn cho cột, không phải hàng. đó là lý do tại sao một số hành vi kỳ quặc đối với 4,7,10 yếu tố, v.v. – Ferroao