0
В приложении Shiny я динамически создаю radioButtons на сервере и использую renderUI для передачи этого клиенту. Теперь у меня возникла проблема получения ответа radioButtons (выбранного элемента) для дальнейшей обработки. Ниже урезанная версия моей проблемы.Использование динамических кнопок radioButtons в Shiny
library(shiny)
ui <- shinyUI(pageWithSidebar(
headerPanel("test dynamic radio buttons"),
sidebarPanel(
),
mainPanel(
x <- uiOutput('radioTest'),
actionButton('submit', label = "Submit"),
br(),
print(paste("Radiobutton response is:", "reply()")),
textOutput('text')
)
))
server <- shinyServer(
function(input, output) {
output$radioTest <- renderUI({
options <- c("item 1", "item 2", "item 3")
# The options are dynamically generated on the server
radioButtons('reply', 'What item do you select ?', options, selected = character(0))
})
observe({
input$submit
isolate(
output$text <- renderText({
paste("Radiobutton response is:", "reply()")
})
)
})
}
)
# Run the application
shinyApp(ui = ui, server = server)
Благодаря Sandipan. На самом деле это интенция. Оставшаяся проблема заключается в том, что код наблюдает за ответом кнопки Submit, но изолированное значение ввода $ reply все равно изменяется сразу же после активации другой опции. Как я могу отложить реакцию Radiobutton до тех пор, пока кнопка Submit не будет активирована? Из отладки я вижу, что вывод $ text рендеринга запускается сразу после запуска приложения (он не ждет) – Paul
У меня возникла проблема с ответом. См. Код ниже. Еще раз спасибо за то, что указал мне в правильном направлении. наблюдения ({ входа $ представить изолят (текст <- паста ("RadioButton ответ:", вход $ ответа)) выхода $ текст <- renderText ({текст}) }) – Paul
большого, спасибо за обновленный код –