Я хотел бы иметь возможность редактировать только один столбец в таблице данных, используя модальное окно с выбранным входом. Я хочу, чтобы выбранное значение в модале было сохранено в таблице (и сохранено, когда пользователь изменяет страницу в datatable). Есть ли способ сделать это в блестящей? Вот воспроизводимый пример с тем, что я сделал до сих пор.
Заранее спасибо:)
library("shiny")
library("datasets")
library("DT")
library("shinyBS")
ui = shinyUI(fluidPage(
useShinyjs(),
verbatimTextOutput("selections"),
DT::dataTableOutput("mtcarsTable"),
bsModal("mtCarsModal", "My Modal", "", htmlOutput("my_numbers"),
actionButton("save_changes","Save changes"), size = "small")
))
on_click_js = "
Shiny.onInputChange('mydata', '%s');
$('#mtCarsModal').modal('show')
"
convert_to_link = function(x) {
as.character(tags$a(href = "#", onclick = sprintf(on_click_js,x), x))
}
shinyApp(
ui = ui,
server = function(input, output, session) {
output$my_numbers <- renderUI({
selectInput("my_numbers", "", c(1,2,3,4,5,input$mydata ), selected=input$mydata)
})
mtcarsLinked <- reactive({
mtcars$mpg <- sapply(
datasets::mtcars$mpg,convert_to_link)
return(mtcars)
})
output$mtcarsTable <- DT::renderDataTable({
DT::datatable(mtcarsLinked(),
class = 'compact',
escape = FALSE, selection='multiple'
)
})
output$selections <- renderText(input$my_numbers)
}
)