使用R SHINY添加页面刷新按钮 [英] Add a page refresh button by using R Shiny

查看:12
本文介绍了使用R SHINY添加页面刷新按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个应用程序,我需要添加一个按钮来刷新页面(按F5的功能相同)。是否有任何人可以共享一段代码来实现它?

非常感谢!

推荐答案

我确实有一个非常简单和不错的解决方案,但它不适用于文件输入

以下是一个解决方案,适用于除文件输入以外的所有输入

更新2017:此解决方案在前两年不适用于文件输入,但现在可以使用。

library(shiny)
library(shinyjs)
runApp(shinyApp(
  ui = fluidPage(
    shinyjs::useShinyjs(),
    div(
      id = "form",
      textInput("text", "Text", ""),
      selectInput("select", "Select", 1:5),
      actionButton("refresh", "Refresh")
    )
  ),
  server = function(input, output, session) {
    observeEvent(input$refresh, {
      shinyjs::reset("form")
    })
  }
))

按"刷新"时,所有输入都将重置为其初始值。

但是文件输入非常奇怪,很难"重置"它们。See here。如果需要,您可以将一些JavaScript拼凑在一起,尝试几乎重置输入字段。下面是执行实际页面刷新的方法:

library(shiny)
library(shinyjs)
runApp(shinyApp(
  ui = fluidPage(
    shinyjs::useShinyjs(),
    shinyjs::extendShinyjs(text = "shinyjs.refresh = function() { location.reload(); }"),
    textInput("text", "Text", ""),
    actionButton("refresh", "Refresh")
  ),
  server = function(input, output, session) {
    observeEvent(input$refresh, {
      shinyjs::js$refresh()
    })
  }
))

免责声明:这两种解决方案都使用我编写的包shinyjs

这篇关于使用R SHINY添加页面刷新按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆