我正在尝试使用编写一个简单的闪亮应用程序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
你可以试试这个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"})
})
}
)
Run Code Online (Sandbox Code Playgroud)