相关疑难解决方法(0)

闪亮应用中的"重置输入"按钮

我想在我闪亮的应用程序中实现"重置输入"按钮.

这是一个只有两个输入的例子,我正在使用更新函数将值设置回默认值:

library(shiny)

runApp(list(

  ui = pageWithSidebar(

    headerPanel("'Reset inputs' button example"),

    sidebarPanel(
      numericInput("mynumber", "Enter a number", 20),
      textInput("mytext", "Enter a text", "test"),
      tags$hr(),
      actionButton("reset_input", "Reset inputs")
    ),

    mainPanel(
      h4("Summary"),
      verbatimTextOutput("summary")
    )

  ),

  server = function(input, output, session) {

    output$summary <- renderText({
      return(paste(input$mytext, input$mynumber))
    })

    observe({
      input$reset_input
      updateNumericInput(session, "mynumber", value = 20)
      updateTextInput(session, "mytext", value = "test")
    })
  }

))
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否还有一个功能可以将所有内容设置为默认值?这在多个输入的情况下将是有用的.

另外,我不确定我是否使用了observe功能来检测动作按钮何时被击中是处理动作按钮的"正确方法"?

r shiny

33
推荐指数
3
解决办法
2万
查看次数

如何在Shiny中重置fileInput的值?

关于这个问题已经有类似的帖子了(例如,如何更新闪亮的fileInput对象?),但我仍然无法弄清楚人们如何强制Shiny忘记使用widget input$file之后的值fileInput.

当一个人想要触发上传文件actionButton("Submit"在我的情况下调用)然后用另一个actionButton("Reset"这里)重置其值时,问题变得唠叨.再次单击"提交"按钮时,很明显输入的$ file值仍然存在.

我尝试使用一些推荐的解决方案:shinyjs包装和刷新fileInput模块带renderUI/ uiOutput- 但仍然没有结果.

这是我的代码:

server.R

shinyServer(function(input, output, session) {

values <- reactiveValues(
 file = NULL
)

observeEvent(input$submit, {
 values$file <- input$file1
})

observeEvent(input$reset, {
 values$file <- NULL
 output$resettableInput <- renderUI({
  fileInput('file1', label = NULL)
 })
}, ignoreNULL = F)

output$summary <- renderText({
 return(paste('Uploaded file:', values$file$name))
})
})
Run Code Online (Sandbox Code Playgroud)

ui.R

shinyUI(bootstrapPage(

 headerPanel('Reset / Submit file input example'), …
Run Code Online (Sandbox Code Playgroud)

r shiny

5
推荐指数
2
解决办法
3321
查看次数

标签 统计

r ×2

shiny ×2