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