如何使用闪亮的actionButton来展示&隐藏文字输出?

时间:2017-06-16 10:04:52

标签: 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"})
    })
  }
)

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

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

2)是否可以调整上面的代码,以便第二次按下按钮时,文本输出会再次隐藏?

1 个答案:

答案 0 :(得分:3)

您可以使用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"})
    })

  }
)