Я могу отобразить сортируемый список menuSubItems, используя этот вопрос, но я хотел бы отслеживать порядок, в котором они находятся после сортировки. menuSubItem
s не отображаются в input
на стороне сервера (по крайней мере, не весь список), и я хотел бы иметь возможность получить доступ к порядку списка значений в test_tabs
без необходимости углубляться в создание пользовательских привязок ввода в Shiny.
Любые креативные идеи будут оценены!
library(shiny)
library(shinydashboard)
library(sortable)
# Define UI for shinydashboard
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("tab_one", tabName = "test_body"),
menuItemOutput("test")
)
),
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({
menu <- menuItem("test_tabs", do.call(tagList, tabs_list))
menu$children[[2]] <- tagAppendAttributes(menu$children[[2]], id = "test_tabs")
tagAppendChildren(menu, sortable_js("test_tabs"))
})
})
}
# Run the application
shinyApp(ui = ui, server = server)