我正在尝试找到一种方法来检查Shiny Dashboard Box是否已折叠或展开。
通过阅读@daattali在如何在闪亮的仪表板中手动折叠框中的回复,我知道可以使用shinyjs包从服务器端折叠该框,如下面的代码所示。
通过检查UI HTML,我发现解决我的问题的答案可能是通过访问图标类(以查看它是否为fa fa-plus或fa fa-minus)来解决的,但我不知道该如何做。任何帮助将不胜感激。干杯!
通过阅读@daattali在如何在闪亮的仪表板中手动折叠框中的回复,我知道可以使用shinyjs包从服务器端折叠该框,如下面的代码所示。
library(shiny)
library(shinydashboard)
library(shinyjs)
jscode <- "
shinyjs.collapse = function(boxid) {
$('#' + boxid).closest('.box').find('[data-widget=collapse]').click();
}
"
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
useShinyjs(),
extendShinyjs(text = jscode),
actionButton("bt1", "Collapse box1"),
actionButton("bt2", "Collapse box2"),
br(), br(),
box(id = "box1", collapsible = TRUE, p("Box 1")),
box(id = "box2", collapsible = TRUE, p("Box 2"))
)
)
server <- function(input, output) {
observeEvent(input$bt1, {
js$collapse("box1")
})
observeEvent(input$bt2, {
js$collapse("box2")
})
}
shinyApp(ui, server)
通过检查UI HTML,我发现解决我的问题的答案可能是通过访问图标类(以查看它是否为fa fa-plus或fa fa-minus)来解决的,但我不知道该如何做。任何帮助将不胜感激。干杯!
input$mybox$collapsed
。 - undefined