如何使动态生成的闪亮UI元素“流动”

时间:2019-03-23 13:20:54

标签: r shiny flowlayout

我正在尝试动态生成一个闪亮的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) { })
}

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

编辑:我发现对类似问题here的响应很好,但是我想知道是否有可能使用非'eval-parse'的解决方案

1 个答案:

答案 0 :(得分:0)

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) { })