R Shiny DT - ввод текста поиска программно - PullRequest
0 голосов
/ 23 мая 2018

Можно ли вводить текст в поле поиска через код?Требуемое поведение: пользователь вводит текст в textInput('search2', "Search 2"), и этот текст копируется в поле поиска DT, и поиск выполняется на DT.

library(shiny)
library(DT)
shinyApp(
  ui = fluidPage(
    textInput('search2', "Search 2"),
    DTOutput('dt')
  ),
  server = function(input, output, session) {
    output$dt = renderDT(iris)
  })

enter image description here

Я не хочу фильтровать данные DT другим способом (что я делаю в настоящее время) - в частности, я хочу использовать функциональность окна поиска DT.

1 Ответ

0 голосов
/ 24 мая 2018

Вы можете создать datatableProxy вашего DT, который позволяет манипулировать существующим экземпляром DT.Используйте функцию updateSearch:

library(shiny)
library(DT)    

shinyApp(
  ui = fluidPage(
    textInput('search2', "Search 2"),
    DTOutput('dt')
  ),
  server = function(input, output, session) {

    DTproxy <- dataTableProxy("dt")
    output$dt = renderDT(iris)

    observeEvent(input$search2, {
      updateSearch(DTproxy, keywords = list(global = input$search2, columns = NULL))
    })

  })

enter image description here

...