1
当应用程序呈现数据表时,我需要在浏览器中默认更改Shiny显示的搜索输入。 搜索输入查找数据表中的数据,并显示用户输入过滤的相应信息。 问题在于Shiny实现了默认情况。修改闪亮的数据表搜索
我想要实现像搜索的输入,但不是过滤器我想分页显示,该用户在输入写入页的数据。
有什么想法?
当应用程序呈现数据表时,我需要在浏览器中默认更改Shiny显示的搜索输入。 搜索输入查找数据表中的数据,并显示用户输入过滤的相应信息。 问题在于Shiny实现了默认情况。修改闪亮的数据表搜索
我想要实现像搜索的输入,但不是过滤器我想分页显示,该用户在输入写入页的数据。
有什么想法?
有关快速解决方案,请参阅下文。我隐藏了当前的功能并在顶部实现了一个新功能。
library(DT)
shinyApp(
ui = fluidPage(
tags$head(
# hides the default search functionality
tags$style(
HTML(".dataTables_filter, .dataTables_info { display: none; }")
)
),
fluidRow(
column(10,
""
),
column(2,
# adding new page filter
numericInput("page", "Page", 1, min = 1)
),
column(12,
dataTableOutput('table')
)
)
),
server = function(input, output) {
output$table <- renderDataTable(iris, options = list(pageLength = 5))
# using new page filter
observeEvent(input$page, {
dataTableProxy("table") %>% selectPage(input$page)
})
}
)
当然,这将是很好的替换实际的DOM元素。然后,JavaScript将是要走的路。你既可以找到元素和覆盖功能,或将其删除,替换它。一个很好的出发点是在这里:https://datatables.net/examples/basic_init/dom.html。但我认为这可能是所需要的时间方面的矫枉过正。