2017-02-11 11 views
1

例:シャイニーselectizeInput「すべてをアットワンス削除」

を光沢のある例に従えapp.RファイルはselectizeInput UIが含まれています。選択した要素は、options = list(plugins= list('remove_button'))を使用して削除できます。

enter image description here

library(shiny) 
library(dplyr) 

ui= fluidPage(
    sidebarLayout(
    sidebarPanel(
     selectizeInput(inputId= "cyl", label= "cyl", 
        choices= sort(unique(mtcars$cyl)), 
        selected= sort(unique(mtcars$cyl)), 
        multiple=T, 
        options = list(plugins= list('remove_button'))) 
    ), 
    mainPanel(
     tableOutput("tab") 
    ) 
) 
) 

server= function(input, output) { 
    df_filtered= reactive({ 
    mtcars %>% 
    {if (is.null(input$cyl)) . else filter(., cyl %in% input$cyl)} 
    }) 
    output$tab= renderTable(df_filtered()) 
} 

shinyApp(ui, server) 

質問:

は、機能を追加する光沢でアクセスselectize.jsオプションがあります「アットワンスすべて削除」の代わりに「1を削除しますこの例のように「1つずつ」ですか?

私はselectize.js docuを勉強しましたが、立ち往生しました。

+0

フォームに統合しますか、または下のボタンで十分ですか? – BigDataScientist

+0

@BigDataScientistベストケースがフォームに統合されています。 – user2030503

+0

誰も統合された方法で登場しない場合、私は非ファンシーな方法で手助けすることができます;) – BigDataScientist

答えて

1

私はすべてのselected、ソリューション散歩がreset_buttonを使用することだと思います、しかしselected=オプションは、(1つのオプション?)丹に変更する必要があり、それはResetボタンを押した後、リセット値

library(shiny) 
library(shinyjs) 
library(dplyr) 

ui= fluidPage(
    sidebarLayout(
    sidebarPanel(
     useShinyjs(), 
     div(id = "form", 
      selectizeInput(inputId = "cyl", 
         label = "cyl", 
         choices = sort(unique(mtcars$cyl)), 
         selected=sort(unique(mtcars$cyl))[1], multiple=TRUE)), 
      actionButton("reset_input", "Reset") 
    ), 
    mainPanel(
     tableOutput("tab") 
    ) 
) 
) 

server= function(input, output) { 

    observeEvent(input$reset_input, { 
    shinyjs::reset("form") 
    }) 

    df_filtered= reactive({ 
    mtcars %>% 
    {if (is.null(input$cyl)) . else filter(., cyl %in% input$cyl)} 
    }) 
    output$tab= renderTable(df_filtered()) 
} 

shinyApp(ui, server) 

ある原因値は一度にクリアされ、一次値selectizeInputが返されます。

+0

Thxたくさん。このソリューションは、実行可能な機能の点では残念ながら、私は避ける必要があるボタンを追加します。私はそのフォームに統合された解決策を探していました。あなたの貢献と時間のためにとにかくThx。 – user2030503

関連する問題