shiny - dashboardpage - brillante: cómo desactivar el dashboardHeader
status shiny (1)
Shinyjs es una gran biblioteca. El problema con su código es que primero necesita inicializar shinyjs
con shinyjs::useShinyjs()
y ponerlo dentro de la función dashboarBody
. Además, para ocultar / mostrar el encabezado no es necesario agregar la clase "sidebar-collapse"
que es en realidad para la barra lateral. Solo necesita agregar style="display:none"
para ocultar el encabezado, y eliminarlo para mostrar el encabezado. A continuación se muestra el código modificado para ocultar / mostrar el encabezado. El código JS utilizado es muy simple y recibe el parámetro para agregar directamente desde la función js$hidehead()
.
library(shiny)
library(shinydashboard)
library(shinyjs)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
# initialize shinyjs
shinyjs::useShinyjs(),
# add custom JS code
extendShinyjs(text = "shinyjs.hidehead = function(parm){
$(''header'').css(''display'', parm);
}"),
actionButton("button","hide header"),
actionButton("button2","show header")
)
)
server <- function(input, output) {
observeEvent(input$button, {
js$hidehead(''none'')
})
observeEvent(input$button2, {
js$hidehead('''')
})
}
shinyApp(ui, server)
Soy nuevo en brillante. Cuando realicé mi proyecto, necesito ocultar el tablero encabezado en el lado del servidor.
En el sitio web shinydashboard, encontré el código dashboardHeader(disable = TRUE)
. Intenté esto, pero no fue trabajo.
Sin embargo, probé usar shinyjs para resolver el problema.
<code>
library(shiny)
library(shinydashboard)
library(shinyjs)
ui <- dashboardPage(
dashboardHeader(
extendShinyjs(text = ''shinyjs.hidehead = function(params) {
$("header").addClass("sidebar-collapse") }''),
),
dashboardSidebar(),
dashboardBody(
actionButton("button","hide_header",width = 4 )
)
)
server <- function(input, output) {
observeEvent(input$button, {
js$hidehead()
})}
shinyApp(ui, server)</code>
Supongo que ya lo sabías, todavía no funcionó.
¿Alguna idea para mi caso?