我有一个reactable与可扩展的细节和单行 Select .reactable包提供了onClick参数,可以设置为"SELECT"或"EXPAND".问题是,我希望同时 Select 两个选项,即在单击时 Select 行和展开行.onClick参数的第三个选项是JS()函数,它需要行信息对象、列对象和表状态对象.如果我对Java的了解不是那么差,这可能是通向解决方案的途径.有谁能帮忙吗?

考虑以下代码:

library(shiny)
library(reactable)

ui <- fluidPage(
  reactableOutput("table")
)

server <- function(input, output) {
  output$table <- renderReactable({
    reactable(iris[1:5, ],
      details = function(index) {
        htmltools::div(
          "Details for row: ", index,
          htmltools::tags$pre(paste(capture.output(iris[index, ]), collapse = "\n"))
        )
      },
      selection = "single",
      onClick = JS("function(rowInfo) {
        // js code to select + expand row goes here
      }")
    )
  })
  
}

shinyApp(ui, server)

´´´

推荐答案

也许这就是你要找的.使用JS API,您可以通过调用toggleRowExpanded()toggleRowSelected()方法来展开和 Select 一行:

library(shiny)
library(reactable)

ui <- fluidPage(
  reactableOutput("table")
)

server <- function(input, output) {
  output$table <- renderReactable({
    reactable(iris[1:5, ],
      details = function(index) {
        htmltools::div(
          "Details for row: ", index,
          htmltools::tags$pre(paste(capture.output(iris[index, ]), collapse = "\n"))
        )
      },
      selection = "single",
      onClick = JS("function(rowInfo) {
                  rowInfo.toggleRowExpanded();
                  rowInfo.toggleRowSelected();
      }")
    )
  })
}

shinyApp(ui, server)

Javascript相关问答推荐

获取加载失败:获取[.]添加时try 将文档添加到Firerestore,Nuxt 3

如何用显示网格平滑地将元素从一个地方移动到另一个地方?

我不知道为什么setwritten包装promise 不能像我预期的那样工作

函数返回与输入对象具有相同键的对象

从Node JS将对象数组中的数据插入Postgres表

引用在HTMLAttributes<;HTMLDivElement>;中不可用

WebGL 2.0无符号整数输入变量

Angular 订阅部分相互依赖并返回数组多个异步Http调用

将核心模块导入另一个组件模块时存在多个主题

如何将数据块添加到d3力有向图中?

从Nextjs中的 Select 项收集值,但当单击以处理时,未发生任何情况

第三方包不需要NODE_MODULES文件夹就可以工作吗?

如何在 Select 文本时停止Click事件?

当标题被点击时,如何使内容出现在另一个div上?

React Refs不与高阶组件(HOC)中的动态生成组件一起工作

使用createBrowserRoutVS BrowserRouter的Reaction路由

如何在Highlihte.js代码区旁边添加行号?

如何在Web项目中同步语音合成和文本 colored颜色 更改

在不使用AJAX的情况下将JavaScript数组值传递给Laravel控制器?

JS:inline date子串.