提问人:JohnBones JohnBones 提问时间:12/7/2022 更新时间:12/7/2022 访问量:43
在 Shiny/R 中,为什么我的 lis 和 purrr::map()t 在模块中不起作用?
In Shiny/R why my lis with purrr::map()t is not working in module?
问:
这是我的模块文件:
library(semantic.dashboard)
example_UI <- function(id) {
ns <- NS(id)
tagList(
# 1:5 %>% map(~ list(menu = list(paste0(.x)),
# content =list(paste0(.x))))
list(menu = list('B'),
content = list('B')),
list(menu = list('C'),
content = list('C')),
list(menu = list('A'),
content = list('A')),
list(menu = list('A'),
content = list('A')),
list(menu = list('A'),
content = list('A'))
)
}
example_Server <- function(id) {
moduleServer(
id,
function(input, output, session) {
}
)
}
当我在不使用 purrr::map() 函数的情况下运行代码时,面板标签创建得很好。
但是当我尝试使用 purrr::map() 函数创建面板标签时,它没有被创建
波纹管是我闪亮的应用程序
ui <- dashboardPage(
dashboardHeader(color = "blue"),
dashboardSidebar(side = "left", size = "thin", color = "teal",
sidebarMenu(
menuItem(tabName = "tab1", "Tab 1"))),
dashboardBody(tabItems(
tabItem(tabName = "tab1",
tabBox(
collapsible = FALSE,
title = "Pull",
color = "black",
width = 16,
tabs = example_UI('question')
)
)))
)
server <- function(input, output) {
}
shinyApp(ui, server)
我做错了什么?
答:
2赞
MrFlick
12/7/2022
#1
您的函数返回长度为 5 的值。它不会像在没有映射的情况下调用时那样返回五个单独的列表。为了将该单个列表扩展到不同的参数,您可以使用 .例如map()
list()
tagList()
!!!
tagList(
!!!(1:5 %>% map(~ list(menu = list(paste0(.x)),
content =list(paste0(.x))))
))
评论
0赞
JohnBones JohnBones
12/7/2022
感谢您抽出宝贵时间接受采访!do.call解决方案令人惊叹。这!!!我必须有更好的理解。再次感谢!
评论