R Shiny选择选定的赛事

时间:2018-05-04 05:56:21

标签: r shiny

在R Shiny中使用选择性时,是否可以捕捉选择框中当前突出显示的元素?来自gallery

selectizeInput(
    'e2', '2. Multi-select', choices = state.name, multiple = TRUE
  )

如果在选择几个州后,再点击加州'

selectize selection

可以选择加州'拍摄的?用例是触发数据表上的过滤器,使其仅显示所选状态的信息。

2 个答案:

答案 0 :(得分:1)

您可以编写自定义JavaScript render.item方法(在一个字符串中不是很漂亮):

library(shiny)

ui <- fluidPage(
  selectizeInput(
    inputId = 'select',
    label = '2. Multi-select',
    choices = state.name, 
    multiple = TRUE,
    options = list(
      render = I("{item: function(item, escape) {return '<div class=\"item\" onclick=\"Shiny.onInputChange(\\\'select_click\\\', \\\'' + escape(item.value) + '\\\')\">' + escape(item.value) + '</div>';}}")
    )
  ),
  tags$p("Selected:"),
  verbatimTextOutput("res_select"),
  tags$p("Click:"),
  verbatimTextOutput("res_click")
)

server <- function(input, output, session) {
  output$res_select <- renderPrint({
    input$select
  })
  output$res_click <- renderPrint({
    input$select_click
  })
}

shinyApp(ui, server)

答案 1 :(得分:0)

试试这个:
如果要触发过滤器,则必须将其用作输出(在此处调用)

 data1 <- <nameofyourfile>

 <dashboardbody options>.. .

column(2,selectizeInput('e2', '2. Multi-select', 
choices = state.name, multiple = TRUE)),uiOutput("StateOutput")

这部分进入服务器:

    output$StateOutput <- renderUI({ 
    data1 %>% filter(data1$<variablename> == input$e2Input)
    <insert the kind of filter you want to show based on the new data1>
                  })