R Shiny DT - 以编程方式输入搜索文本

Vla*_*lad 3 r shiny dt

是否可以通过代码输入搜索框文本?要求的行为是:用户textInput('search2', "Search 2")在DT搜索框中输入文本并且该文本在DT搜索框中复制并且在DT上执行搜索。

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

在此处输入图片说明

我不想以另一种方式过滤 DT 数据(我目前正在这样做) - 特别是我希望使用 DT 的搜索框功能。

sho*_*aco 5

您可以创建一个datatableProxyDT,它允许操作现有的 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))
    })

  })
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明