Я пытаюсь добавить динамически сгенерированные ссылки в таблицу данных переменной длины. При нажатии на ссылку следует переключить фокус на вкладку сведений. В то же время выбранный вход должен быть обновлен до марки автомобиля, по которой был выполнен щелчок, чтобы информация на вкладке сведений обновлялась. Я подготовил минимальный пример с actionLinks. Однако я не мог понять, как заставить ссылки делать то, что я хочу.
library(shiny)
library(htmlwidgets)
library(tibble)
library(DT)
ui <- fluidPage(
title = "Examples of DataTables",
sidebarLayout(
sidebarPanel(
selectInput("car", h3("Car"),choices = rownames(mtcars))
),
mainPanel(
tabsetPanel(id = "dataset",
tabPanel("Cars", DT::dataTableOutput("mytable1")),
tabPanel("Details", DT::dataTableOutput("mytable2"))))))
server <- function(input, output) {
shinyInput = function(FUN, len, id, labels, ...) {
inputs = NULL
for (i in seq_len(len)) {
inputs[i] = as.character(FUN(paste0(id, i), label = labels[i], ...))
}
return(inputs)
}
output$mytable1 <- DT::renderDataTable({
cars <- mtcars %>% rownames_to_column() %>% select(rowname, mpg, cyl)
cars$rowname <- shinyInput(actionLink, nrow(cars), "link_", labels = cars$rowname)
DT::datatable(cars, rownames = FALSE, escape = FALSE)
})
output$mytable2 <- DT::renderDataTable(DT::datatable(mtcars[input$car,]))
}
shinyApp(ui, server)
Любая помощь будет оценена. Спасибо!