我创建了一些逻辑,我试图添加几个actionButtons,但一切都正常,直到每个按钮被单击一次。当每个按钮被点击一次时,所有按钮都会自动点击第二次,第三次等迭代。如何重置actionButton的值或者我应该更改服务器端的整个逻辑?
observe({
if (input$actionButton_1 == 0)
return()
isolate({
# logic
})
if (input$actionButton_2 == 0)
return()
isolate({
# logic
})
...
})
答案 0 :(得分:2)
好吧,没有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(...)
吗?
答案 1 :(得分:1)
为了我的目的,我为每个actionButton创建了observe(),并且让我们说在其他observe()中使用actionButton输出我使用全局“output<< - f()”。也许,这个解决方案不是最好的,但它有效......
observe({
if (input$actionButton_1 == 0)
return()
isolate({
# logic
})
})
observe({
if (input$actionButton_2 == 0)
return()
isolate({
# logic
})
})
...