在R Shiny中使用选择性时,是否可以捕捉选择框中当前突出显示的元素?来自gallery:
selectizeInput(
'e2', '2. Multi-select', choices = state.name, multiple = TRUE
)
如果在选择几个州后,再点击加州'
可以选择加州'拍摄的?用例是触发数据表上的过滤器,使其仅显示所选状态的信息。
答案 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>
})