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

问题描述 投票:0回答:1

我试图动态生成一个接一个地水平放置的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) { })
}

但是,当没有动态生成时,它们会一个接一个地水平放置(从左到右),这正是我要找的。关于如何修复它的任何指针?

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

r shiny flowlayout
1个回答
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) { })
© www.soinside.com 2019 - 2024. All rights reserved.