Я хотел бы удалить начальное значение (selected=
) с selectizeInput
, когда пользователь нажмет на виджет.Shiny selectizeInput: по щелчку удалить начальное выбранное значение
Вот пример кода:
library(shiny)
library(dplyr)
ui= fluidPage(
sidebarLayout(
sidebarPanel(
selectizeInput(inputId= "cyl", label= "cyl",
choices= NULL,
selected= sort(unique(mtcars$cyl))[1],
multiple=T)
),
mainPanel(
tableOutput("tab")
)
)
)
server= function(input, output,session) {
updateSelectizeInput(session = session,inputId ="cyl",choices=sort(unique(mtcars$cyl)),selected=sort(unique(mtcars$cyl))[1], server = TRUE)
df_filtered= reactive({
mtcars %>%
{if (is.null(input$cyl)) . else filter(., cyl %in% input$cyl)}
})
output$tab= renderTable(df_filtered())
}
shinyApp(ui, server)
Просто немного объяснения на основе образца кода:
Начальное выбранное значение в selectizeInput "cyl"
является 4
. Когда пользователь нажимает на этот виджет, мне бы хотелось, чтобы значение 4
было удалено, а опция selected
очищена. Есть идеи?
* Я использовал функцию updateSelectizeInput
в server
, потому что в моем выборе shiny app
выбор очень большой приводит к слишком много времени загрузки