library(shiny)
library(shinyWidgets)
ui <- fluidPage(
textInputIcon(
inputId = "id",
label = "With an icon",
icon = icon("circle-user")
),
actionButton("updateValue", "Update value"),
actionButton("updateIcon", "Update icon"),
verbatimTextOutput("value")
)
server <- function(input, output, session) {
output$value <- renderPrint(input$id)
observeEvent(input$updateValue, {
updateTextInputIcon(
session = session,
inputId = "id",
value = paste(sample(letters, 8), collapse = "")
)
})
observeEvent(input$updateIcon, {
i <- sample(c("home", "gears", "dollar-sign", "globe", "sliders-h"), 1)
updateTextInputIcon(
session = session,
inputId = "id",
icon = icon(i)
)
})
}
if (interactive())
shinyApp(ui, server)
Run the code above in your browser using DataLab