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

时间:2017-07-19 03:20:24

标签: r shiny shinyjs

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

下面是我想到的一个例子,但我无法弄清楚如何引用在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)

2 个答案:

答案 0 :(得分:1)

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)

答案 1 :(得分:0)

正如Geovany评论的那样,您将服务器拼错为服务器。此外,您可能希望使用shinyjs中的切换功能。

    numeric_lowest_specification
##        <dbl> 
## 1      475.0 
## 2      475.0 
## 3      475.0 
## 4      475.0 
## 5      475.0 
## 6      475.0 
## 7      475.0 
## 8      475.0 
## 9      475.0 
## 10     475.0   

希望这有帮助。