【发布时间】:2020-02-02 02:31:19
【问题描述】:
我有一个使用 shinydashboard 包的 Shiny 应用程序,我在其中动态创建 menuSubItems 在 sidebarMenu 的 dashboardSidebar 中。 subItems 的创建由 actionButton 触发。我可以在服务器端创建 menuSubItems 就好了,但我还想使用 sortable 包和 sortable_js 函数使它们可排序。不过,我似乎无法弄清楚在哪里放置 sortable_js 函数以使其真正起作用。
这是我的 MRE:
library(shiny)
library(shinydashboard)
library(sortable)
# Define UI for shinydashboard
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("tab_one", tabName = "test_body"),
menuItemOutput("test"),
id = "sidebar"
)
),
dashboardBody(
tabItem("test_body",
actionButton("click_me", "Click Me"))
)
)
# Define server logic to dynamically create menuSubItems
server <- function(input, output) {
observeEvent(input$click_me, {
tabs_list <-
lapply(1:5, function(x) {
menuSubItem(text = paste("tab", x))
})
output$test <- renderMenu({
menuItem("test_tabs", do.call(tagList, tabs_list))
})
sortable_js("test_tabs")
})
}
# Run the application
shinyApp(ui = ui, server = server)
非常感谢任何帮助
【问题讨论】:
标签: r shiny shinydashboard sortablejs