1

非常に単純なものが欠けていると思います。

アクション ボタン 2 が表示されるように、ユーザーにアクション ボタン 1 をクリックしてもらいます。しかし、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)
4

1 に答える 1

3

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)
于 2019-04-03T20:48:01.153 に答える