如何使动态生成闪亮 UI 元素 'flow'
How to make dynamically generated shiny UI elements 'flow'
我正在尝试动态生成一个接一个(从左到右)水平放置的 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) { })
我正在尝试动态生成一个接一个(从左到右)水平放置的 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) { })