R Shiny сделать второе действие кнопка 2 появляется после нажатия кнопки действия 1 - PullRequest
0 голосов
/ 03 апреля 2019

Я думаю, что упускаю что-то очень простое.

Я хочу, чтобы мой пользователь нажал на кнопку действия 1, чтобы появилась кнопка действия 2.Но как я могу «визуализировать» новую кнопку действия в пользовательском интерфейсе?

Мой код приведен ниже.Большое спасибо!

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)

1 Ответ

1 голос
/ 03 апреля 2019

Если вы используете renderUI() на стороне сервера, вы должны использовать uiOutput() на стороне пользовательского интерфейса.

Полный код:

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)
...