使用R SHINY添加页面刷新按钮 [英] Add a page refresh button by using R Shiny
本文介绍了使用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屋!
查看全文