这是从这里(https://community.rstudio.com/t/accessing-row-clicks-in-data-table-in-modal/8961)交叉发布的,尚无回复。
我正在模式中使用Shiny中的DT包绘制数据表。这对我的用户界面非常有用,但我希望用户能够点击它并访问他们点击的行。通常的输入$ tablename_rows_clicked不起作用,因为它没有在UI中给出一个插槽。
有一种聪明的DT型方法吗?或者是否有一种聪明的JavaScript方式?有人有什么建议吗?
谢谢!
答案 0 :(得分:3)
您可以这样做:
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)