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