R Shiny 使第二个操作按钮 2 在单击操作按钮 1 后出现

use*_*256 2 r shiny action-button

我想我错过了一些非常简单的事情。

我希望我的用户单击操作按钮 1,以便显示操作按钮 2。但是我如何在 ui 中“渲染”一个新的操作按钮?

我的代码如下。非常感谢!

library(shiny)
ui = shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      actionButton("button1", label = "Press Button 1")
    ),
    mainPanel(
      # what should I write here?
      #renderPrint("button2")
    )
  )
))

server = shinyServer(function(input, output, session) {
  observeEvent(input$button1, {
    output$button2 <- renderUI({
      actionButton("button2", label = "Press Button 2")
    })
  })
})
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

Big*_*ist 5

如果在服务器端使用renderUI(),则必须uiOutput()在ui端使用。

完整代码如下:

library(shiny)
ui = shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      actionButton("button1", label = "Press Button 1")
    ),
    mainPanel(
      # what should I write here?
      uiOutput("button2")
    )
  )
))

server = shinyServer(function(input, output, session) {
  observeEvent(input$button1, {
    output$button2 <- renderUI({
      actionButton("button2", label = "Press Button 2")
    })
  })
})
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)