首页 > 解决方案 > 闪亮的反应性 JS 元素

问题描述

我有一个带有 DT 表的闪亮应用程序。在此表中,我已合并 JS,如下所示。一切正常。但我需要 JS 元素具有反应性

例如当前的JS如下所示

DT::datatable(........ ,
                      callback = JS("
  table.column(1).nodes().to$().css({cursor: 'pointer'});
                                      var format = function(d) {
                                      return '<div style=\"background-color:red; padding: .5em;text-align:center;\"><table><tr><td><b> Tag </b></td><td><b> Number of Reviews </b></td><td><b> Share </b></td><td><b>Click</b></td></tr><tr><td> '+d[6]+' </td><td>' + d[16] + '</td><td>' + d[26] + '</td><td>' + d[36] + '</td></tr><tr><td> '+d[7]+' </td><td>' + d[17] + '</td><td>' + d[27] + '</td><td>' + d[37] + '</td></tr><tr><td> '+d[8]+' </td><td>' + d[18] + '</td><td>' + d[28] + '</td><td>' + d[38] + '</td></tr><tr><td> '+d[9]+' </td><td>' + d[19] + '</td><td>' + d[29] + '</td><td>' + d[39] + '</td></tr><tr><td> '+d[10]+' </td><td>' + d[20] + '</td><td>' + d[30] + '</td><td>' + d[40] + '</td></tr><tr><td> '+d[11]+' </td><td>' + d[21] + '</td><td>' + d[31] + '</td><td>' + d[41] + '</td></tr><tr><td> '+d[12]+' </td><td>' + d[22] + '</td><td>' + d[32] + '</td><td>' + d[42] + '</td></tr><tr><td> '+d[13]+' </td><td>' + d[23] + '</td><td>' + d[33] + '</td><td>' + d[43] + '</td></tr><tr><td> '+d[14]+' </td><td>' + d[24] + '</td><td>' + d[34] + '</td><td>' + d[44]  + '</td></tr><tr><td> '+d[15]+' </td><td>' + d[25] + '</td><td>' + d[35] + '</td><td>' + d[45] + '</td></tr></table ></div>';
                                      };
                                      table.on('click', 'td.details-control', function() {
                                      var td = $(this), row = table.row(td.closest('tr'));
                                      if (row.child.isShown()) {
                                      row.child.hide();
                                      td.html('&plus;');
                                      } else {
                                      row.child(format(row.data())).show();
                                      td.html('&minus;');
                                      }
                                      });"
                      )
)

但是这个 d[16], d[36] 等......数字需要是反应性的。我们可以将反应元素传递给它吗?上面只是给出了一个示例代码。请指导我

标签: javascriptrshiny

解决方案


推荐阅读