如何在 Shiny R 中放弃用户对 DT::datatable 的编辑

How to discard user edits on DT::datatable in Shiny R

我使用 DT::renderDataTable 为 Shiny 应用程序呈现数据 table,并在 datatable() 的定义中使用 editable = TRUEdatatabledata 参数是一个反应式表达式,它根据从下拉菜单中选择的值从数据库中获取数据。我希望能够有一个按钮来刷新数据 table 并丢弃任何用户编辑,就像从下拉菜单中选择另一个值一样。我无法为您提供可重现的示例,因为我使用的是专有代码和来自数据库的数据。我知道我可以在刷新按钮单击事件上使用 observeEvent,然后调用 table 的呈现函数,但我正在寻找更优雅的方法。谢谢

发现您可以在刷新按钮的 observeEvent 中使用 proxy <- datatableProxy(),然后使用 reloadData(proxy)。这将取消所做的任何数据表编辑。