I'm hoping to insert an rclipboard::rclipButton()
into a DataTable in RShiny and am having trouble figuring out how to do it. Have tried the following (based on: Using renderDataTable within renderUi in Shiny):
library(shiny); library(tidyverse); library(rclipboard)
ui <- fluidPage(
mainPanel(
rclipboardSetup(),
uiOutput('myTable')
)
)
server <- function(input, output) {
output$myTable <- renderUI({
output$myTable <- renderUI({
iris <- iris %>% filter(row_number()==1:2)
iris$button <- rclipButton(
inputId = "clipbtn",
label = "Copy",
clipText = "test",
icon = icon("clipboard")
)
output$aa <- renderDataTable(iris)
dataTableOutput("aa")
})
})
}
shinyApp(ui, server)
But looks like this: "[object Object]"
Have also tried paste0()'ing the rclipButton()
into the DataTable but that just renders as a long string of HTML.
Any suggestions much appreciated!
Well,
rclipButton()
call will generateshiny.tag
objects, and you need to change it to string so DT can parse it. Then the key is to useescape = F
in datatable.I also rewrite the way to generate the DT table.