R 书签状态

R 书签状态,r,shiny,bookmarks,dt,R,Shiny,Bookmarks,Dt,亲爱的R社区: 我正在尝试为Shining应用程序创建一个书签状态,其中我使用DT包呈现表。例如,在下面粘贴的应用程序中,我想在搜索字段中键入一些文本,这些文本将数据子集并将该状态标记为书签,即获取一个我可以共享的URL。另一个用户可以使用URL查看表的相同子集,而无需在搜索字段中再次键入文本。对于下面的代码,我希望看到带有选项1代码的“书签”按钮或带有选项2的动态URL,但不幸的是,它没有按预期工作。有人知道在使用DT呈现表时如何创建书签状态吗 以下是可复制代码: 选择1 library(sh

亲爱的R社区:

我正在尝试为Shining应用程序创建一个书签状态,其中我使用DT包呈现表。例如,在下面粘贴的应用程序中,我想在搜索字段中键入一些文本,这些文本将数据子集并将该状态标记为书签,即获取一个我可以共享的URL。另一个用户可以使用URL查看表的相同子集,而无需在搜索字段中再次键入文本。对于下面的代码,我希望看到带有选项1代码的“书签”按钮或带有选项2的动态URL,但不幸的是,它没有按预期工作。有人知道在使用DT呈现表时如何创建书签状态吗

以下是可复制代码:

选择1

library(shiny)

ui <- function(request) {
    fluidPage(DT::dataTableOutput('tbl'))
}

server = function(input, output) {
    output$tbl = DT::renderDataTable(
        iris, options = list(lengthChange = FALSE)
    )
}

shinyApp(ui, server, enableBookmarking = "url")
库(闪亮)

ui根据下面的讨论,我找到了答案

我可以修改选项1,这是一个最小的可复制应用程序。只需在全局搜索字段中键入字符串,单击底部的书签按钮,复制url并共享

library(DT)
library(shiny)

ui <- function(request) {
 fluidPage(
 DT::dataTableOutput('tbl')
 , bookmarkButton(label = "Bookmark", title = "Link to this view")

 )
}

server = function(input, output) {

 # exclude some values query variables from url
 setBookmarkExclude(names = c("resTable_rows_all",
 "resTable_cell_clicked"))

 # proxy for table manipulations
 tbl_proxy <- dataTableProxy("tbl")

 # restore table selection and search
 onRestored(function(state) {

 # req(state$input$resTable_search)
 DT::updateSearch(tbl_proxy, 
 keywords = list(global = state$input$tbl_search))
 })

 output$tbl <- renderDataTable(iris)

}

shinyApp(ui, server, enableBookmarking = "url")
库(DT)
图书馆(闪亮)
用户界面
library(DT)
library(shiny)

ui <- function(request) {
 fluidPage(
 DT::dataTableOutput('tbl')
 , bookmarkButton(label = "Bookmark", title = "Link to this view")

 )
}

server = function(input, output) {

 # exclude some values query variables from url
 setBookmarkExclude(names = c("resTable_rows_all",
 "resTable_cell_clicked"))

 # proxy for table manipulations
 tbl_proxy <- dataTableProxy("tbl")

 # restore table selection and search
 onRestored(function(state) {

 # req(state$input$resTable_search)
 DT::updateSearch(tbl_proxy, 
 keywords = list(global = state$input$tbl_search))
 })

 output$tbl <- renderDataTable(iris)

}

shinyApp(ui, server, enableBookmarking = "url")