【发布时间】:2017-04-14 15:49:54
【问题描述】:
当在数据表中选择行并且有人按下“删除行”开关时,我正在尝试从数据框中删除行。 input$click_rows_selected 给出所选行的 id。
我对observeEvent 和observe 的使用似乎有问题,因为代码会在我第一次轻按开关时删除选定的行。然而,之后,每次我选择一行时,它也会删除该行。关闭开关后如何停止删除行? if 和 else 语句似乎根本没有帮助。
代码的缩短版:
observeEvent(input$deleterows,{
if(input$deleterows==TRUE){
observe({
if (is.null(input$click_rows_selected))
return()
values$df <- values[input$click_rows_selected,]})} else{
print("check")}
})
【问题讨论】:
-
input$deleterows是什么类型的控件? -
这是一个复选框输入
-
你能把它改成
actionButton还是需要一个复选框? -
我将其更改为复选框,因为操作按钮存在完全相同的问题。一旦你按下它,它就会永远保持它的状态。我认为该复选框可能会解决我的问题,因为我可以在其中放置一个 if 和 else 语句。它也失败了。
-
由于问题不在于复选框或按钮,您仍应使用按钮,除非您希望行为有所不同:即选中复选框后,每次单击都会立即删除行。使用按钮时,预期行为应该是单击时删除选定的行。
标签: r datatable shiny rstudio shinybs