В блестящем, как я могу обновить поле ввода текста значением кнопки действия

Привет я хочу создать блестящий пользовательский интерфейс, который пользователь может ввести имя набора данных в текстовое поле, скажем "testdataset". Затем, нажав кнопку и действие, чтобы выбрать конкретный процесс в этом (примере) анализе 1 или анализе 2. Как только это произойдет, я хочу, чтобы в текстовом поле отображалось исходное имя набора данных и выбранный анализ, т.е. "testdataset-analysis1" . Я построил и пример пользовательского интерфейса ниже, но я новичок в R и блестящий и не знаю, как захватывать события и передавать переменные между пользовательским интерфейсом и сервером и отображать их. кто-нибудь может помочь? пример того, чего я хотел бы достичь
библиотека (блестящие)

  #====shiny UI
  shinyUI(pageWithSidebar(
    headerPanel("Shiny action button input "),
    sidebarPanel(
      textInput(inputId="data1", label = "Input data name"),

      actionButton("Ana1", "analysis1"),
      actionButton("Ana2", "analysis2")
    ),
    mainPanel(
  #
    )
  ))

  #====shiny server
  shinyServer(
    function(input, output) {
      output$data1 <- renderText({input$data1})

    })
  }
  )

  runApp()#to run application

1 ответ

Это не полный ответ, но это хорошо, чтобы попробовать для себя. В общем, используйте updateTextInput чтобы обновить текст, используйте observeEvent чтобы наблюдать действие нажатия на кнопку, используйте input$name поймать входные значения и использовать output$name <- render... установить выход. Есть несколько updateInput Методы, которые вы можете найти в официальном справочнике Shiny. http://shiny.rstudio.com/reference/shiny/latest/

Например, в коде вашего сервера

function(session, input, output) {
    observeEvent(input$Ana1, {
        name <- paste(input$data1, "analysis 1")
        updateTextInput(session, "data1", value=name)
    }
}
Другие вопросы по тегам