Я пытаюсь получить textInput от пользователя, и после его отправки с помощью кнопки действия мне нужно обновить варианты (добавить пользовательский ввод к уже существующим переключателям), я пробовал несколько способов, но безуспешно. Заранее спасибо для вашей помощи:)
library(shiny)
ui = navbarPage("Sample Trial",
tabPanel("Input Tab",
mainPanel(
textInput("textinp","Create New Label", placeholder = NULL),
actionButton("labbutton","Create")
)
),
tabPanel("Radio Button Panel",
radioButtons("labradio", label = "New Label",choices=values)
)
)
values <- c("Label1","label2","label3")
server = function(input, output) {
observeEvent(input$labbutton,{
req(input$textinp)
value01 <-input$textinp
updatedValues <- c(values, value01)
updateRadioButtons(session,inputId = "labradio",choices=updatedValues)
})
}#Server End
В настоящее время приложение сначала добавит пользовательский ввод в список уже присутствующих вводов, но после второго ввода от пользователя оно перезаписывает предыдущий.
Попробуй это
library(shiny)
ui = navbarPage("Sample Trial",
tabPanel("Input Tab",
mainPanel(
textInput("textinp","Create New Label", placeholder = NULL),
actionButton("labbutton","Create")
)
),
tabPanel("Radio Button Panel",
radioButtons("labradio", label = "New Label",choices=values)
)
)
server = function(input, output,session) {
value <- c("Label1","label2","label3")
rv <- reactiveValues(values=value)
observeEvent(input$labbutton,{
req(input$textinp)
rv$values <- c(rv$values, input$textinp)
updateRadioButtons(session,inputId = "labradio",choices=rv$values)
})
}
shinyApp(ui, server)