如何使用闪亮的actionButton显示和隐藏文本输出?

all*_*lly 3 r shiny

我正在尝试使用编写一个简单的闪亮应用程序actionButton。当actionButton被按下时,一些文本输出应直接印刷在其下方。下面的代码将我带到了解决方案的一部分:

shinyApp(
  ui = shinyUI( fluidPage(
    actionButton("button", "don't press the button"),
    verbatimTextOutput("text")
  )
  ),
  server = function(input, output, session){
    observeEvent(input$button, {
      output$text <- renderText({"ahh you pressed it"})
    })
  }
)
Run Code Online (Sandbox Code Playgroud)

我想更改两件事,但不确定如何:

1)上面的代码在按下按钮之前显示了一个空的灰色框-我希望在按下按钮之前没有任何东西。看起来conditionalPanel可能是正确的方法,但不确定如何实现。

2)是否可以修改上面的代码,以便再次按下按钮时再次隐藏文本输出?

小智 5

你可以试试这个shinyjshiddentoggle

library(shiny)
library(shinyjs)

shinyApp(
  ui = shinyUI(fluidPage(useShinyjs(), 
    actionButton("button", "don't press the button"),
    hidden(
      div(id='text_div',
        verbatimTextOutput("text")
        )
    )
  )
  ),
  server = function(input, output, session){
    observeEvent(input$button, {
      toggle('text_div')
      output$text <- renderText({"ahh you pressed it"})
    })

  }
)
Run Code Online (Sandbox Code Playgroud)