我们可以在不重新加载页面的情况下重置 r 中的页面或对象吗
Posted
技术标签:
【中文标题】我们可以在不重新加载页面的情况下重置 r 中的页面或对象吗【英文标题】:Can we reset page or object in r shiny without reloading page 【发布时间】:2020-04-06 14:14:45 【问题描述】:问题1:我创建了一个闪亮的应用程序,当用户将任何记录提交到数据库时,整个页面都会重新加载,我不希望我只想在没有完整的情况下重置/刷新我的 R 闪亮对象页面重新加载。是否有任何替代方法可以实现相同的效果?
问题2:同样在我的应用程序中,我有一个登录页面,所以我希望当用户输入他们的凭据时,它应该将凭据存储在该字段中,这样当用户再次登录到同一页面时,它不应该要求输入凭据和密码,而不是使用浏览器功能记住密码。此外,当他们关闭浏览器并再次打开新的浏览器实例时,它应该要求输入凭据。
任何帮助将不胜感激。 :)
【问题讨论】:
【参考方案1】:如果您的问题陈述有任何可重现的示例,那总是好的。 对于您的问题 1,有一个包 shinyjs。您可以使用它来重置您的对象。问题1的示例代码:
library(shiny)
library(shinyjs)
shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
h2("shinyjs demo"),
textInput("name", "Name", ""),
actionButton("submit", "Submit"),
actionButton("reset", "Reset form")
),
server = function(input, output)
observeEvent(input$submit,
shinyjs::alert( paste("Thank you!",input$name) )
)
observeEvent(input$reset,
shinyjs::reset("name")
)
)
您可以在此处获取文档。 https://github.com/daattali/shinyjs
对于您的问题 2,相关的事情很少。它也可以由浏览器处理。 您可以使用此文档链接https://gist.github.com/calligross/e779281b500eb93ee9e42e4d72448189
【讨论】:
对于 problem1 您正在尝试使用仍然是字符的空格进行重置,并且我希望对象能够刷新,因为其中没有存储任何内容。对于 Problem2,您建议我使用 cookie 功能。我只想简单一点,当我打开我的应用程序并输入我的凭据时,文本值应该存储凭据,就像浏览器记住密码功能一样。所以下次我不要假设再次输入它应该填充在字段中。 你能为你的问题 1 提供一个可重现的例子吗?和问题2我不记得除了js和浏览器组合之外的任何解决方案都可以做到这一点......以上是关于我们可以在不重新加载页面的情况下重置 r 中的页面或对象吗的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在不重新加载页面的情况下使用 javascript/jQuery 更新 URL 或查询字符串?
如何在不更改 javascript 中的 URL 的情况下重新加载当前页面一次?