Shiny - Selectizeinput更新

时间:2018-03-23 08:37:28

标签: r shiny selectize.js shinyjs

如您所知,可以通过按“删除”删除选择输入中的项目,但不能通过单击删除。这大大降低了我的仪表板的用户体验。这是一个删除输入字段中所有输入的解决方案,但是我只想删除被单击的那个。

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)

这有什么选择吗?我想通过javascript触发keydown事件,但这还没有用:-(。你们可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我明白了! selectizeInput(“money”,“Financing”,choices = data $ kauf,selected = data $ kauf,multiple = TRUE,options = list(plugins = list('remove_button')))

作品: - )