R Shiny: параллельные входы пользовательского интерфейса в absolutePanel - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь заставить два selectInputs отображаться рядом на абсолютной панели в Shiny App. Я пробовал решение здесь , а именно:

withTags(div(class='row-fluid',
         div(class='span3', checkboxInput(inputId = 
             "simOption", label = "Historical Data",value=TRUE)),
         div(class='span5', checkboxInput(inputId = 
             "simOption2", label = "Historical Data 2",value=TRUE))
          ))

но это не сработало в моем коде (checkboxInputs по-прежнему отображался вертикально).

См. Приведенный ниже код для конкретного примера. Прямо сейчас два selectInputs появляются вертикально, в то время как я надеюсь получить их рядом.

library(shiny)

ui <- fluidPage(
 navbarPage("Title", id="nav",
  tabPanel("Tab",
   div(class="outer",
    absolutePanel(id = "controls", class = "panel panel-default", fixed = TRUE,
    draggable = TRUE, top = 60, left = "auto", right = 20, bottom = "auto",
    width = 300, height = "auto",

    selectInput("select_1", "1st Thing", 
                choices=1:10, selected = 1, multiple = FALSE,
                width=90),

    selectInput("select_2", "2nd Thing", 
                choices=1:10, selected = 2, multiple = FALSE,
                width=90)  

      )
     )
    )
   )                   
  )

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

shinyApp(ui, server)

1 Ответ

1 голос
/ 08 марта 2019

Вы можете обернуть два входных селектора в div и добавить несколько CSS.

library(shiny)

ui <- fluidPage(
navbarPage("Title", id="nav",
         tabPanel("Tab",
                  div(class="outer",
                      absolutePanel(id = "controls", class = "panel panel-default", fixed = TRUE,
                                    draggable = TRUE, top = 60, left = "auto", right = 20, bottom = "auto",
                                    width = 300, height = "auto",

                                    div(style="display:flex",
                                        selectInput("select_1", "1st Thing", 
                                                choices=1:10, selected = 1, multiple = FALSE,
                                                width=90),
                                        selectInput("select_2", "2nd Thing", 
                                                choices=1:10, selected = 2, multiple = FALSE,
                                                width=90)
                                        )
                                    )
                      )
                  )
         )
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...