【问题标题】:How to reset the value of several actionButtons? (shiny package)如何重置几个actionButtons的值? (闪亮包装)
【发布时间】:2013-12-30 19:08:59
【问题描述】:

我创建了一些逻辑,尝试添加几个 actionButton,但在每个按钮被单击一次之前一切正常。当每个按钮被点击一次时,所有按钮都会在第二次、第三次等迭代中自动点击。如何重置 actionButton 的值,还是应该更改服务器端的整个逻辑?

observe({
  if (input$actionButton_1 == 0)
    return()
  isolate({
    # logic
  })
 if (input$actionButton_2 == 0)
    return()
  isolate({
    # logic
  })
 ...
})

【问题讨论】:

    标签: r button shiny


    【解决方案1】:

    好吧,如果没有 ui.R,很难弄清楚发生了什么,但 actionButton(...) 在文档中的定义如下:

    Creates an action button whose value is initially zero, 
    and increments by one each time it is pressed.
    

    所以所有actionButtons 最初都设置为0。按下所有按钮后,代码中的所有条件都将测试为 FALSE(例如,!=0),并且无论何时按下任何按钮,都会显示所有按钮都已按下。

    您确定不想使用submitButton(...)?

    【讨论】:

    • 问题是我无法控制“点击”。我的应用程序就像使用用户参数做一些数学运算(actionButton_1),然后如果结果正常,则将它们保存到 SQL(actionButton_2)。所以按钮应该分开工作。
    【解决方案2】:

    出于我的目的,我为每个actionButton 创建了observe(),假设actionButton 输出用于其他observe(),我使用全局“输出

    observe({
      if (input$actionButton_1 == 0)
        return()
      isolate({
        # logic
      })
     })
    observe({ 
    if (input$actionButton_2 == 0)
        return()
      isolate({
        # logic
      })
    }) 
    
    
    ...
    

    【讨论】:

      猜你喜欢
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 2021-04-11
      • 1970-01-01
      相关资源
      最近更新 更多