Я использую selectizeInput в Shiny и хотел бы адаптировать эту функцию так, чтобы в списке опций отображались только слова, начинающиеся с символов, введенных пользователем в поле поиска. Я смотрю на код JavaScript на:
принудительно заставляет selectize.js только показывать опции, которые начинаются с пользовательского ввода и пробовал следующее:
library("shiny")
selectList <- sapply(1:10000, function(x) paste(sample(letters, 8), collapse = ''))
ui <- fluidPage(
selectizeInput(inputId = 'mylist', label = 'Select something', choices = NULL, selected = 1),
actionButton("search", "search"), br(), br(),
textOutput("value")
)
server <- function(input, output, session) {
updateSelectizeInput(session = session, inputId = 'mylist', choices = c(Choose = '', selectList), server = TRUE,
options = list(placeholder = "Select something",
dropdownParent = 'body',
openOnFocus = FALSE,
items = c(),
score = I("function(search)
{
var score = this.getScoreFunction(search);
return function(item)
{
return item.text
.toLowerCase()
.startsWith(search.toLowerCase()) ? 1 : 0;
};
}")
)
)
getValue <- eventReactive(input$search, { return(input$mylist) })
output$value <- renderPrint({ return(getValue()) })
}
shinyApp(ui = ui, server = server)
но пока не работает. Может быть, я упустил что-то простое, но кто-нибудь знает, что нужно изменить в этом коде?