Возможные несовместимые теги "div" и updateSelectInput - PullRequest
0 голосов
/ 09 января 2020

Я работаю в Shiny Flexdashboard и у меня возникла проблема с updateSelectInput и кодом CSS ... Я бы хотел, чтобы альтернативы решили проблему ...

Я хотел бы уменьшить размер таблицы но я новичок в html, CSS и связанных с ним вещах, так что я нашел вдохновение от здесь и здесь здесь , специально упомянутых как реализованные в flexdashboard) и закодировал аналогично следующему:


selectInput("Indicator","select",choices=c(),selected="NONE")
observe({

  Inds<-as.factor(mtcars[,2])%>%levels

  updateSelectInput(session,inputId="Indicator",choices=Inds)

})


  wellPanel(
    div (dataTableOutput ("OrigData"), style = "font-size: 80%"),
    dataTableOutput("OrigData"),
  )


output$OrigData<-DT::renderDataTable(mtcars)

Уменьшает строки в таблице данных, отображаемой так, как я хочу, но проблема в том, что selectInput «Indicator» не обновляется.

Что работает: «Индикатор» selectInput соответствующим образом обновляется, если я комментирую / исключаю строку

div (dataTableOutput ("OrigData"), style = "font-size: 80%")

Так что я не могу заставить их работать одновременно. ..

То же самое происходит, даже если я помещаю выбранные данные на боковую панель и таблицу данных в другую вкладку ...

Существует некоторая несовместимость между CSS код "div" и updateSelectInput? Что я могу сделать, чтобы работать со стилем в flexdashboard (особенно размер шрифта dataTableOutput), не блокируя updateSelectInput?

1 Ответ

0 голосов
/ 23 января 2020

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

    ```{r,echo=FALSE}

selectInput("Indicator","select",choices=c(),selected="NONE")
observe({

  Inds<-as.factor(mtcars[,2])%>%levels

  updateSelectInput(session,inputId="Indicator",choices=Inds)

})


  wellPanel(
    #div (dataTableOutput ("OrigData"), style = "font-size: 80%"),
    dataTableOutput("OrigData"),
  )


output$OrigData<-DT::renderDataTable(mtcars%>%
  DT::datatable() %>%
  DT::formatStyle(columns = colnames(mtcars), fontSize = '50%')
  )

```
...