У меня есть приложение, которое работает с панелями вкладок, которые используют одни и те же входные данные, и его нужно отображать с помощью renderUI для ответа на пользовательские данные. Я заметил, что мои модулированные входы отдают приоритет первому меню, в котором они отображаются, и игнорируют изменения, сделанные на разных панелях
Ниже приведен упрощенный рабочий пример основной c проблемы
library(shiny)
addexButtons <- function(id, label = "ROCParam") {
ns <- NS(id)
uiOutput(ns("roccondicionals"), label = label)
}
numbmod <- function(input, output, session, ndata) {
output$roccondicionals <- renderUI({
tagList(numericInput('numb', 'Choose Num', value = 0,))
})
}
ui <- fluidPage(navbarPage(
'App',
tabPanel(title = 'Menu 1',
sidebarLayout(
sidebarPanel(addexButtons("counter1", "Adder")),
mainPanel(textOutput('sumtotal'))
)),
tabPanel(title = 'Menu 2',
sidebarLayout(
sidebarPanel(addexButtons("counter2", "Multiplier"),),
mainPanel(textOutput('multiplytotal'))
))
))
server <- function(input, output) {
callModule(numbmod, "counter1")
callModule(numbmod, "counter2")
output$sumtotal <-
renderText(paste0('5 + ', input$numb, ' = ', input$numb + 5))
output$multiplytotal <-
renderText(paste0('5 x ', input$numb, ' = ', input$numb * 5))
}
shinyApp(ui = ui, server = server)
Если вы запустите этот пример, вы увидите, что при переходе в меню 2 значение сохраняет информацию, измененную в меню 1 (которое предназначено), однако, если я решу изменить это же значение на той же вкладке, я не смогу и для этого необходимо вернуться в Меню 1.
Есть ли способ изменить один и тот же визуализированный ввод на двух разных вкладках, где сохраняется последняя модификация?