2014-12-11 3 views
11

Я хочу изменить высоту выпадающего списка в блестящем приложении. Высота по умолчанию отображает около 8 параметров, я хотел бы видеть больше. Можно увеличить количество опций, уменьшив высоту линии выпадающего списка, но это не оптимальное решение для меня. Я много искал, как это сделать, заглянул в код selectize.js, и моя текущая гипотеза заключается в том, что либо это тривиально, либо невозможно по дизайну.Как изменить высоту выпадающего списка в блестящем?

Что я узнал, так это то, что отображаемое выпадающее меню выбрано div из класса .selectize-dropdown-content, но изменение его атрибутов высоты и ширины ничего не меняет. Тем не менее, можно изменить цвет фона. Вот мой единственный файл блестящий код приложения:

server <- function(input, output) { 
    output$distPlot <- renderPlot({ 
     plot(0.5,0.5,xlim=c(0,1),ylim=c(0,1)) 
     text(0.5,0.5,input$Letter) 
    }) 
} 

ui <- shinyUI(fluidPage(
    sidebarLayout(
    sidebarPanel(
     selectizeInput("Letter", "", setNames(letters,letters),selected="a",multiple=FALSE),  
     tags$style(type='text/css', 
        ".selectize-dropdown-content { 
height: 600 px; 
width: 700 px; 
background-color: #b0c4de; 
}") 
    ), 
    mainPanel(plotOutput("distPlot")) 
) 
)) 

shinyApp(ui = ui, server = server) 

Так что мой вопрос, ли я изменения CSS правильного элемента, или изменение высоты ниспадающего не представляется возможным в selectize.js?

ответ

8

Получил решение, через несколько минут после размещения вопроса. Высота выпадающего списка выбирается с помощью атрибута max-height. Следующий css делает трюк:

tags$style(type='text/css', ".selectize-dropdown-content {max-height: 400px; }"), 
+0

Извините за случайный downvote. Похоже, я не могу его вернуть. –

+0

Не беспокойтесь :) сделайте этот комментарий длиннее – mpiktas

Смежные вопросы