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