Shiny - Selectizeinput 更新

Posted

技术标签:

【中文标题】Shiny - Selectizeinput 更新【英文标题】:Shiny - Selectizeinput Update 【发布时间】:2018-09-01 21:07:35 【问题描述】:

您知道 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)

对此有什么选择吗?我考虑过通过 javascript 触发 keydown 事件,但这还不行:-(。你们能帮帮我吗?

【问题讨论】:

frissdemo.shinyapps.io/FrissDashboard 也许这有帮助。怎么可能得到这样的过滤器? 【参考方案1】:

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

作品:-)

【讨论】:

以上是关于Shiny - Selectizeinput 更新的主要内容,如果未能解决你的问题,请参考以下文章

Shiny:基于选定级别的 SelectizeInput 条件更新

Shiny 中两个相关的 selectizeInput 小部件的反应式更新

闪亮的 SelectInput 和 SelectizeInput

Shiny:基于 selectizeInput 的 conditionalPanel 问题

如何在 Shiny 中控制 selectizeInput 中输入的值,确保它们属于预定义列表?

Selectizeinput 输入互斥 R Shiny