В блестящем, как я могу обновить поле ввода текста значением кнопки действия
Привет я хочу создать блестящий пользовательский интерфейс, который пользователь может ввести имя набора данных в текстовое поле, скажем "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)
}
}