【问题标题】:Can we reset page or object in r shiny without reloading page我们可以在不重新加载页面的情况下重置 r 中的页面或对象吗
【发布时间】:2020-04-06 14:14:45
【问题描述】:

问题1:我创建了一个闪亮的应用程序,当用户将任何记录提交到数据库时,整个页面都会重新加载,我不希望我只想在没有完整的情况下重置/刷新我的 R 闪亮对象页面重新加载。是否有任何替代方法可以实现相同的效果?

问题2:同样在我的应用程序中,我有一个登录页面,所以我希望当用户输入他们的凭据时,它应该将凭据存储在该字段中,这样当用户再次登录到同一页面时,它不应该要求输入凭据和密码,而不是使用浏览器功能记住密码。此外,当他们关闭浏览器并再次打开新的浏览器实例时,它应该要求输入凭据。

任何帮助将不胜感激。 :)

【问题讨论】:

    标签: r shiny shinydashboard shinyjs shinyapps


    【解决方案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和浏览器组合之外的任何解决方案都可以做到这一点......
    猜你喜欢
    • 2010-12-22
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    相关资源
    最近更新 更多