Miałem ten sam problem. Opcja escape = FALSE
dla renderDataTable rozwiązała problem, o czym wspomniałeś w komentarzach.
Oto pełny kod aplikacji z tabelą zawierającą łącza.
Jeśli to robisz, będziesz chciał, aby każde łącze było unikalne na podstawie wartości w tabeli. Przenoszę ten kod do funkcji, aby była czystsza.
#app.R#
library(shiny)
createLink <- function(val) {
sprintf('<a href="https://www.google.com/#q=%s" target="_blank" class="btn btn-primary">Info</a>',val)
}
ui <- fluidPage(
titlePanel("Table with Links!"),
sidebarLayout(
sidebarPanel(
h4("Click the link in the table to see
a google search for the car.")
),
mainPanel(
dataTableOutput('table1')
)
)
)
server <- function(input, output) {
output$table1 <- renderDataTable({
my_table <- cbind(rownames(mtcars), mtcars)
colnames(my_table)[1] <- 'car'
my_table$link <- createLink(my_table$car)
return(my_table)
}, escape = FALSE)
}
shinyApp(ui, server)
zawierać próbował kod – HaveNoDisplayName
Jak odczytać kod, który zostanie zepchnięte na przeglądarce to linia robi wyświetlaniem obszaru, który myślę, że masz problemy z, co sugeruje mi, że naprawdę trzeba wiedzieć, co jest w tej tabeli: '
' –Dzięki, znalazłem rozwiązanie. Funkcja renderDataTable w Shiny ma wyjście z argumentu. W nowej wersji było to najbardziej podobne do PRAWDA. Kiedy to zmienię, znowu działa. Więcej informacji: http://shiny.rstudio.com/reference/shiny/latest/renderDataTable.html –