1

我有以下简单的闪亮应用程序:

if (interactive()) {
    ui <- fillPage(
        fillRow(
            fillCol(".", style = "background-color: red;", height = "10%"),
            fillCol(".", style = "background-color: blue;", height = "10%")
        )
    )
    server <- function(input, output, session) {}
    shinyApp(ui, server)
}

结果正是我想要的,但如果我尝试达到同样的效果,renderUI我会得到一个空白页面。

我试图用下面的代码做到这一点:

if (interactive()) {
    ui <- fillPage(
        uiOutput("back")
    )
    server <- function(input, output, session) {
        output$back <- renderUI({
            fillRow(
                fillCol(".", style = "background-color: red;", height = "10%"),
                fillCol(".", style = "background-color: blue;", height = "10%")
            )
        })
    }
    shinyApp(ui, server)
}
4

1 回答 1

0

这是使用height:100%. 使用 uiOutput 会在结果周围添加一个 div renderUI,不幸的是,这个 div 默认的高度为 0。修复也100%将此 div 的高度设置为。

if (interactive()) {
  ui <- fillPage(
    uiOutput("back",style = "height:100%;")
  )
  server <- function(input, output, session) {
    output$back <- renderUI({
      fillRow(
        fillCol(".", style = "background-color: red;", height = "10%"),
        fillCol(".", style = "background-color: blue;", height = "10%")
      )
    })
  }
  shinyApp(ui, server)
}

希望这可以帮助!

于 2018-05-17T12:37:48.803 回答