Как добавить x-scroll к разделу блестящего приложения?

Здесь много правильных ответов, но я хотел добавить это (для полноты):

Если вы в нижней части файла cpp реализации выполняете явное инстанцирование всех типов, которые будут использоваться шаблоном с, компоновщик сможет найти их как обычно.

Изменить: добавление примера явного создания экземпляра шаблона. Используется после того, как шаблон определен, и определены все функции-члены.

template class vector<int>;

Это создаст экземпляр (и, следовательно, сделает доступным для компоновщика) класс и все его функции-члены (только). Подобный синтаксис работает для функций шаблона, поэтому, если у вас есть перегрузки операторов, не являющихся членами, вам может понадобиться сделать то же самое для них.

Вышеприведенный пример бесполезен, поскольку вектор полностью определен в заголовках, за исключением случаев, когда common include file (precompiled header?) использует extern template class vector<int>, чтобы не создавать его из всех других (1000?) файлов, которые используют вектор.

0
задан Raja Saha 18 January 2019 в 12:45
поделиться

1 ответ

Вы используете макет Bootstrap (fluidPage, fluidRow, column), и вся идея такого макета заключается в отзывчивости.

Страница считается шириной 12, и превышение ее элементов приведет к переносу в новые строки. Это предполагаемое поведение Bootstrap.

Одним из способов решения вашей проблемы является использование flexbox .

Решение : (Отказ от ответственности: работает только на Chrome и Firefox)

Я внес два изменения в ваш код:

  1. Изменил column на div с пользовательским классом CSS под названием custom-column.

column(4,x) - div(class = "custom-column", x)})

  1. Добавлен класс flex-nowrap в fluidRow.

fluidRow(class="flex-nowrap", lapply(alld$ui,function(x){div(class = "custom-column", x)}))

С этими изменениями макет работает, как вы и предполагали, в chrome и firefox , но не работает в IE или браузере в RStudio.

Полный код, включая классы CSS flex-nowrap и custom-column:

library(shiny)

ui <- fluidPage(
  fluidRow(
    tags$head(tags$style("
      .flex-nowrap {
        display: inline-flex;
        -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        flex-direction: row;
      }

      .custom-column {
        width: 200px;
        margin: 0px 10px;
      }      
      "
    )),
    actionButton("addCol","Add New Column"),
    div(style="overflow-x: auto;",
        uiOutput("myUI")
    )
  )
)

server <- function(input, output, session) {
  alld <- reactiveValues()
  alld$ui <- list()

  observeEvent(input$addCol,{

    alld$ui[[length(alld$ui)+1]] <- verbatimTextOutput("aaa", placeholder = T)

    output$myUI <- renderUI({
      fluidRow(class="flex-nowrap", lapply(alld$ui,function(x){div(class = "custom-column", x)}))
    })})
}

shinyApp(ui, server)

Выходные данные :

output [ 1116] [тысяча сто тридцать два]

0
ответ дан GyD 18 January 2019 в 12:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: