在闪亮模式中访问数据表中的行点击

Chr*_*ley 1 shiny dt

这是从这里交叉发布的(https://community.rstudio.com/t/accessing-row-clicks-in-data-table-in-modal/8961),尚未回复。

我正在模式内使用 Shiny 中的 DT 包绘制数据表。这对于我的 UI 来说非常有用,但我希望用户能够单击它并访问他们单击的行。通常的 input$tablename_rows_clicked 不起作用,因为它在 UI 中没有给出一个插槽。

有没有一种聪明的 DT 类型的方法来做到这一点?或者是否有一种聪明的 JavaScript 方法?有人有什么建议吗?

谢谢!

Por*_*hop 5

你可以这样做:

library(DT)
library(shiny)

ui <- fluidPage(
  actionButton("Submit","Submit")
)

server <- function(input, output, session) {

  output$Table <- renderDataTable({datatable(mtcars, selection = 'single')})

  Clicked <- eventReactive(input$Table_rows_selected,{
    input$Table_rows_selected
  })

  output$selected <- renderText({paste0("You Selected Row: ",Clicked())})

  observeEvent(input$Submit,{
    showModal(modalDialog( h2("Row Selection Example"),DT::dataTableOutput('Table'),size = "l",br(),textOutput("selected")))
  })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述