我试图用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)是否可以调整上面的代码,以便第二次按下按钮时,文本输出会再次隐藏?
答案 0 :(得分:3)
您可以使用shinyjs
,hidden
和toggle
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"})
})
}
)