可能不兼容 "div" 标签和 updateSelectInput

Possible incompatibilty "div" tags and updateSelectInput

我在 Shiny Flexdashboard 中工作,我遇到了 updateSelectInput 和 CSS 代码的问题... 我想要解决问题的替代方案...

我想降低 table 尺寸,但我是 html、CSS 和相关东西的新手,所以我从 here and here (and here 中找到灵感,特别提到在 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)

它使数据 table 中呈现的线条变小,但问题是,select 输入 "Indicator" 未更新。

有效方法:如果我 comment/exclude 行

,select 输入 "Indicator" 会得到充分更新

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

所以,我无法让它们同时工作...

即使我将 select 输入放在边栏上,将数据 table 放在另一个选项卡中,也会发生同样的情况...

CSS 的 "div" 代码与 updateSelectInput 之间存在某种不兼容?如何在不阻塞 updateSelectInput 的情况下使用 flexdashboard 中的样式(特别是 dataTableOutput 字体大小)?

这更像是一种解决方法,不完全是解决方案。但我认为包括我如何解决它是个好主意......它与 the answer indicated here and uses DT (as described here) 这不完全是我的初衷,rownames,title row 保持原始大小,而是一种解决部分问题的方法。

    ```{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%')
  )

```