R 暂停会话并从后到前UI

R 暂停会话并从后到前UI,r,shiny,R,Shiny,当用户单击“提交”按钮时,是否有任何解决方案可以返回到应用程序的当前状态。如果一个条件不能满足,应用程序显示信息并返回初始用户界面 observeEvent(输入$sub{ }您可以使用库(shinyjs)重置会话。以下是提供的observeEvent示例: library(shiny) library(shinyalert) library(shinyjs) jsResetCode <- "shinyjs.reset = function() {history.go(0)}" ui

当用户单击“提交”按钮时,是否有任何解决方案可以返回到应用程序的当前状态。如果一个条件不能满足,应用程序显示信息并返回初始用户界面

observeEvent(输入$sub{

}

您可以使用
库(shinyjs)
重置会话。以下是提供的
observeEvent
示例:

library(shiny)
library(shinyalert)
library(shinyjs)

jsResetCode <- "shinyjs.reset = function() {history.go(0)}"

ui <- fluidPage(
  useShinyalert(),
  useShinyjs(),
  extendShinyjs(text = jsResetCode),

   titlePanel("Old Faithful Geyser Data"),

   sidebarLayout(
      sidebarPanel(
        actionButton("sub","sub"),
        checkboxInput("test", "test"),
         sliderInput("bins",
                     "Number of bins:",
                     min = 1,
                     max = 50,
                     value = 30)
      ),

      mainPanel(
         plotOutput("distPlot")
      )
   )
)

server <- function(input, output, session) {

  observeEvent(input$sub, {
    if(input$test == TRUE){
      shinyalert("You made error", type = "error")
    }
  })

  observeEvent(input$shinyalert, {
    if(input$shinyalert == TRUE){
      js$reset()
    }
  })

   output$distPlot <- renderPlot({
      x    <- faithful[, 2] 
      bins <- seq(min(x), max(x), length.out = input$bins + 1)
      hist(x, breaks = bins, col = 'darkgray', border = 'white')
   })
}

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinyalert)
图书馆(shinyjs)
jsResetCode您可以使用
library(shinyjs)
重置会话。下面是提供的
observeEvent
示例:

library(shiny)
library(shinyalert)
library(shinyjs)

jsResetCode <- "shinyjs.reset = function() {history.go(0)}"

ui <- fluidPage(
  useShinyalert(),
  useShinyjs(),
  extendShinyjs(text = jsResetCode),

   titlePanel("Old Faithful Geyser Data"),

   sidebarLayout(
      sidebarPanel(
        actionButton("sub","sub"),
        checkboxInput("test", "test"),
         sliderInput("bins",
                     "Number of bins:",
                     min = 1,
                     max = 50,
                     value = 30)
      ),

      mainPanel(
         plotOutput("distPlot")
      )
   )
)

server <- function(input, output, session) {

  observeEvent(input$sub, {
    if(input$test == TRUE){
      shinyalert("You made error", type = "error")
    }
  })

  observeEvent(input$shinyalert, {
    if(input$shinyalert == TRUE){
      js$reset()
    }
  })

   output$distPlot <- renderPlot({
      x    <- faithful[, 2] 
      bins <- seq(min(x), max(x), length.out = input$bins + 1)
      hist(x, breaks = bins, col = 'darkgray', border = 'white')
   })
}

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinyalert)
图书馆(shinyjs)

jsResetCode很好。这是我一直在寻找的。很好。这是我一直在寻找的。