我有一个非常动态的应用程序:
-导航到应用程序时,向用户显示“登录UI”,如果获得凭据,则利用js和其他反应性,将删除登录ui,并向用户显示应用程序(以多个导航栏的形式显示)标签)。
-我已经成功启用了书签功能,但是我不喜欢用户每次必须复制和粘贴URL的想法,因此我对其进行了更新,如下所示:https://shiny.rstudio.com/articles/bookmarking-state.html。如文章所述,URL字符串是自动更新的。但是,我不确定如何自动实际恢复此状态。据我所知,仍然需要用户复制URL并在其中导航,而不是在应用程序的主页上导航。
-总而言之,我已启用书签功能,但是-为了使用户恢复输入,他/她必须确保保存URL。否则,该应用程序只是在用户导航到那里时重新启动。我认为这很奇怪,因为如果有人正在处理该应用程序并且发生了无法预料的事情(例如断电),我正在实施它。
注意:服务器上确实有书签状态,我不确定如何实现。我在想当前user_log.rds的某种组合,但不确定如何有效地实现。
示例代码:
ui <- function(req) {
fluidPage(
textInput("txt", "Text"),
checkboxInput("chk", "Checkbox")
)
}
server <- function(input, output, session) {
observe({
# Trigger this observer every time an input changes
reactiveValuesToList(input)
session$doBookmark()
})
onBookmarked(function(url) {
updateQueryString(url)
})
}
shinyApp(ui, server, enableBookmarking = "url")