выровнять функциональную кнопку по горизонтали в selectinput - PullRequest
1 голос
/ 24 апреля 2020

В моей Shinydashboard мне нужно положить actionButton горизонтально с другими моими selectInput в коробке. Ниже мое приложение. Кнопка ActionButton, похоже, плохо совмещается с другими входными данными. Кнопка находится в немного верхнем положении. Я не понимаю, почему это происходит. Кто-нибудь знает как это исправить?

library(shiny)
library(shinydashboard)


ui <- dashboardPage(
    dashboardHeader(title = "example"),
    dashboardSidebar(),
    dashboardBody(
        box(width=12,

            column(width = 3, dateRangeInput("order_dash_dateRange", "Date Range",
                                             start  = "2017-01-01",
                                             end    =  Sys.Date(),
                                             min    = "2001-01-01",
                                             max    = Sys.Date(),
                                             format = "mm/dd/yy",
                                             separator = " - ") ),

            column(width=3, selectizeInput(inputId = 'var', 
                                           label='Select variable',
                                           choices = c('cut', 'color'), 
                                           multiple=FALSE,
                                           options = list(
                                               maxItems = 1,
                                               placeholder = '',
                                               onInitialize = I("function() { this.setValue(''); }"))) ),
            column(width=3,  uiOutput("valueUI")),

            column(width=3,  actionButton('go', 'apply filter') )


        )
    )
)

server <- function(input, output, session) {

    output$valueUI = renderUI({

        if (input$var == '') {
            vals = '' 
        }
        if (input$var == 'cut') {
            vals = c('Premium', 'Good', 'Very Good', 'Fair')  
        }
        if (input$var == 'color'){
            vals = c('E', 'J', 'I', 'H')
        }

        selectizeInput(inputId = 'value', 
                       label='Select values',
                       choices = vals, 
                       multiple=FALSE,
                       options = list(
                           maxItems = 1,
                           placeholder = '',
                           onInitialize = I("function() { this.setValue(''); }")))

    })


}

shinyApp(ui, server)

1 Ответ

2 голосов
/ 24 апреля 2020

enter image description here

Вы можете исправить это, вручную добавив ту же сумму (высоту) поля к actionButton

Поскольку другие dateRangeInput, selectizeInput, uiOutput имеет 20px label с полем в 5px в качестве изображения.

Добавление 25px к вершине хорошо выровняет actionButton.

actionButton('go', 'apply filter', style = 'margin-top:25px')
...