Shiny - Обновление Selectizeinput
Как вы знаете, элемент внутри selectizeinput можно просто удалить, нажав "удалить", но не нажав на него. Это значительно снижает удобство использования моих панелей. Вот решение, которое удаляет ВСЕ входные данные в полях ввода, однако я хочу удалить только тот, который был нажат.
library(shiny)
library(dplyr)
library(shinyjs)
ui= fluidPage(
useShinyjs(),
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())
onclick("cyl", {
updateSelectizeInput(session, "cyl", selected = "")
})
}
shinyApp(ui, server)
Есть ли вариант для этого? Я думал о запуске события keydown через javascript, но это еще не сработало:-(. Можете ли вы, ребята, помочь мне?
1 ответ
Я понял! selectizeInput("деньги", "Финансирование", выбор = данные $kauf, выбранные = данные $kauf, несколько = ИСТИНА, параметры = список (плагины = список ('remove_button'))))
Работает:-)