如何使动态生成闪亮 UI 元素 'flow'

How to make dynamically generated shiny UI elements 'flow'

我正在尝试动态生成一个接一个(从左到右)水平放置的 shinyn UI 元素。 flowlayout 似乎很适合它,但是当使用 lapply 动态生成元素时,它被视为单个元素,并垂直放置在另一个元素之下。

下面的示例代码

if (interactive()) {

  ui <- flowLayout(
    lapply(1:4,function(i){
      selectInput(paste0("input_1",i),"input", choices=1:5)
    })
  )
  shinyApp(ui, server = function(input, output) { })
}

然而,当它们不是动态生成时,它们一个接一个地水平(从左到右)放置,这就是我正在寻找的。关于如何解决这个问题的任何指示?

编辑:我发现这个对类似问题的很好的回应 ,但我想知道是否有非 'eval-parse' 的解决方案

library(shiny)

ui <- fluidPage(
  do.call(flowLayout,
          lapply(1:4, function(i){
            selectInput(paste0("input_1",i), "input", choices=1:5)
          })
  )
)

shinyApp(ui, server = function(input, output) { })