【发布时间】:2018-03-12 04:18:07
【问题描述】:
我正在尝试通过使用输入的搜索关键字并按 Enter 选择关键字的所有匹配项来选择 Shiny 的选择输入中的项目。
sn-p 中的observe 函数如果我提供了一个类似ALL 的项目,该项目已经存在于列表中,但我希望它适用于任何类型的关键字。例如App 并按 Enter 键选择所有匹配项。
看看是否有其他自定义选项可以使用 jquery 或其他东西进行编码以捕获键入的输入并捕获过滤的项目,这将会很有趣。或者可能是一些正则表达式,而不是我在if 条件中使用的"ALL"。
---
title: "search and select multiple items by pressing Enter"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
```
Column {.sidebar data-width=300}
-----------------------------------------------------------------------
```{r}
#####################
### Reactive Parameters
Parameters <- reactive({
c("ALL","Apple","App","Application","Approximate","Appointment","Ap_titude","Apricot","B","Ball","Bat","Battery")
})
output$params = renderUI({
selectInput(
'params',
'Parameters',
choices = Parameters(),
multiple = TRUE,
selectize = TRUE
)
})
observe({
if("ALL" %in% input$params){
param_selection <- setdiff(Parameters(), "ALL")
} else {
param_selection <- input$params
}
updateSelectInput(session, "params", selected = as.character(unlist(param_selection)))
})
uiOutput("params")
```
Column
-----------------------------------------------------------------------
### Summary
```{r}
```
【问题讨论】:
标签: r shiny reactive-programming