DataTable R Shiny 中的 rclipButton
rclipButton in DataTable R Shiny
我希望将一个 rclipboard::rclipButton()
插入到 RShiny 中的 DataTable 中,但我不知道该怎么做。已尝试以下(基于: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)
但看起来像这样:
"[object Object]"
也尝试过将 rclipButton()
粘贴到 DataTable 中,但只呈现为 HTML.
的长字符串
非常感谢任何建议!
嗯,rclipButton()
调用会生成shiny.tag
个对象,需要改成字符串,DT才能解析。那么关键就是在datatable.
中使用escape = F
我也重写了生成DT的方式table。
library(shiny); library(tidyverse); library(rclipboard)
ui <- fluidPage(
mainPanel(
rclipboardSetup(),
DT::dataTableOutput("aa")
)
)
server <- function(input, output) {
output$aa <- DT::renderDataTable({
iris2 <- iris %>% filter(row_number()==1:2)
iris2$button <- rclipButton(
inputId = "clipbtn",
label = "Copy",
clipText = "test",
icon = icon("clipboard")
) %>% as.character()
DT::datatable(iris2, escape = F)
})
}
shinyApp(ui, server)
我希望将一个 rclipboard::rclipButton()
插入到 RShiny 中的 DataTable 中,但我不知道该怎么做。已尝试以下(基于: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)
但看起来像这样: "[object Object]"
也尝试过将 rclipButton()
粘贴到 DataTable 中,但只呈现为 HTML.
非常感谢任何建议!
嗯,rclipButton()
调用会生成shiny.tag
个对象,需要改成字符串,DT才能解析。那么关键就是在datatable.
escape = F
我也重写了生成DT的方式table。
library(shiny); library(tidyverse); library(rclipboard)
ui <- fluidPage(
mainPanel(
rclipboardSetup(),
DT::dataTableOutput("aa")
)
)
server <- function(input, output) {
output$aa <- DT::renderDataTable({
iris2 <- iris %>% filter(row_number()==1:2)
iris2$button <- rclipButton(
inputId = "clipbtn",
label = "Copy",
clipText = "test",
icon = icon("clipboard")
) %>% as.character()
DT::datatable(iris2, escape = F)
})
}
shinyApp(ui, server)