你可以使用shinyjs来隐藏/显示整个面板吗?

Sam*_*L-L 3 r shiny shinyjs

我想知道是否可以在整个闪亮的 wellPanel 上使用闪亮的隐藏和显示功能?我有兴趣这样做是为了有条件地显示两个面板之一,据我所知,我不能在条件面板的条件中使用反应值。

下面是我的想法的一个例子,但是我不知道如何引用在shinyjs函数中给井面板的id。

library(shiny)
library(shinyjs)

ui <- fluidPage(
  useShinyjs(),
  actionButton("test", label = "test"),
  shinyjs::hidden(wellPanel(id = "panelA", "I AM PANEL A")),
  wellPanel(id="panelB", "I AM PANEL B")
)

sever <- function(input,output){
  observeEvent(input$test, {
    shinyjs::showElement(id= "panelA")
    shinyjs::hideElement(id= "panelB")
  })
}

shinyApp(ui=ui,server=server)
Run Code Online (Sandbox Code Playgroud)

Sam*_*L-L 5

library(shiny)
library(shinyjs)

ui <- fluidPage(
  useShinyjs(),
  actionButton("showA", label = "Show A"),
  actionButton("showB", label = "Show B"),
  shinyjs::hidden(wellPanel(id = "panelA", "I AM PANEL A")),
  wellPanel(id="panelB", "I AM PANEL B")
)

server <- function(input,output){
  observeEvent(input$showA, {
    shinyjs::showElement(id= "panelA")
    shinyjs::hideElement(id= "panelB")
  })

  observeEvent(input$showB, {
    shinyjs::showElement(id= "panelB")
    shinyjs::hideElement(id= "panelA")
  })
}

shinyApp(ui=ui,server=server)
Run Code Online (Sandbox Code Playgroud)