在我的R-Shiny应用程序中,我想生成一些图,具体取决于两个参数(复选框和numericInput)。复选框的值更改时,应该更改numericInput的值。将去抖用于numericInput。
这导致以下问题: 更改复选框的值会触发绘图重新计算,还会更改numericInput的值。因此,将触发去抖动,并在去抖动后再次触发重新计算。
如果数字输入的值自动更改,是否有办法防止反跳触发蜂鸣?
在下面的最小示例中,我用一个简单的textoutput替换了该图。 (取消)标记该复选框,文本会更改两次。我想抑制输入$截断更改时的反跳,因为输入$相对更改。
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
uiOutput("numeric"),
checkboxInput("relative", "Relative", value = FALSE)
),
mainPanel(
textOutput('text')
)
)
)
server <- function(input, output) {
output$numeric <- renderUI({
if(input$relative){
value <- 100
}
else{
value <- 10000
}
isolate(numericInput("truncate",
"Truncate at (Units/%)", value = value))
})
truncate_debounce <- reactive({
input$truncate
})
truncate_debounced <- debounce(truncate_debounce, 1500)
observe({
output$text <- renderText({
paste(truncate_debounced(), input$relative)
})
})
}
shinyApp(ui = ui, server = server)