Tôi không phải là rất quen thuộc với biểu đồ như tôi không bao giờ xây dựng một, nhưng từ một tham gia một cái nhìn nhanh chóng, nó có vẻ như khi nhấp vào nút bên/hide mở, tất cả những gì xảy ra là một sidebar-collapse
lớp được thêm/xóa vào thẻ <body>
. Có lẽ nhiều điều hơn nữa xảy ra mà tôi không biết, nhưng đó dường như là điều hiển nhiên nhất.
Vì vậy, bạn có thể dễ dàng sử dụng shinyjs gói (từ chối trách nhiệm: Tôi là tác giả) để thêm/loại bỏ lớp
library(shiny)
library(shinydashboard)
library(shinyjs)
shinyApp(
ui =
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
shinyjs::useShinyjs(),
actionButton("showSidebar", "Show sidebar"),
actionButton("hideSidebar", "Hide sidebar")
)
),
server = function(input, output, session) {
observeEvent(input$showSidebar, {
shinyjs::removeClass(selector = "body", class = "sidebar-collapse")
})
observeEvent(input$hideSidebar, {
shinyjs::addClass(selector = "body", class = "sidebar-collapse")
})
}
)
Nguồn
2015-07-09 01:39:34
Cảm ơn bạn rất nhiều, nó hoạt động rất tốt. Tôi chỉ đang học về JS. – Geovany
Nhân tiện, tôi đang sử dụng thư viện của bạn (shinyjs) kể từ lần phát hành đầu tiên. Nó rất hữu ích cho một người như tôi với một kinh nghiệm rất cơ bản với JS. Tôi thực sự thích cách tiếp cận của bạn cho thư viện và thực sự tôi đã học được rất nhiều từ mã nguồn. Vì vậy, cảm ơn bạn rất nhiều vì đã sáng tạo :) – Geovany
thật tuyệt khi nghe, cảm ơn! –