I am trying to create an app where I can have different warnings (using feedbackWarning from the package shinyFeedback) depending on the user's input.
I saw this post where they were talking about this, but although I added if statements, the warnings don't work as they should.
As you can see in the code below, if you first selection is "second" you will see the message "second", but if you select "third" later the previous message is still there and it doesn't update.
Note that I don't want to control the selectInput with actionButtons since I want to show the message before clicking anything else.
library(shiny)
library(shinyFeedback)
ui <- fluidPage(
useShinyFeedback(), # include shinyFeedback
selectInput(
inputId = "test",
label="Multiple warnings",
choices = c("One", "Second", "Third")
)
)
server <- function(input, output) {
observeEvent(input$test, {
if (input$test == "One") {
feedbackWarning(
inputId = "test",
show = input$test == "One",
text = "First"
)
}
if (input$test == "Second") {
feedbackWarning(
inputId = "test",
show = input$test == "Second",
text = "Second"
)
}else{
feedbackWarning(
inputId = "test",
show = input$test == "Third",
text = "Third"
)
}
})
}
shinyApp(ui, server)
Does anybody know how to fix it?
Thanks in advance


You'll need to reset the previous warning via
hideFeedback: