Shiny可以接收列表中的UI组件,并按顺序显示它们。但是,在splitLayout
中,我不希望项目按顺序显示,而是跨列显示。
library(shiny)
my_list = list("aaa", "bbb")
ui <- fluidPage(
splitLayout(
my_list,
"ccc"
)
)
server <- function(input, output, session) {}
shinyApp(ui = ui, server = server)
在上面的示例中,列表的内容(“ aaa”和“ bbb”)出现在splitLayout
的一列中,另一列的内容为“ ccc”。
如果要在同一列中将UI组件捆绑在一起,而又不希望它们分散在多列中,则此行为很有用。
我想要的是三列,每列分别用于“ aaa”,“ bbb”和“ ccc”。
我已经尝试unlist
给出了错误。对于我来说,在my_list
中创建splitLayout
的组件是不切实际的,因为它们是由lapply
动态产生的。
答案 0 :(得分:1)
您可以使用do.call
:
ui <- fluidPage(
do.call(splitLayout, list("aaa", "bbb", "ccc"))
)