【发布时间】:2017-08-08 14:27:40
【问题描述】:
在我闪亮的应用程序中,我有一个日期范围输入和一组复选框。复选框选项是根据输入 $dateRange 确定的。我遇到了一个问题,每次更改日期范围时,都会重新绘制两次绘图。第一次重绘时,它将使用新的日期范围,但使用旧的复选框选项。然后复选框选项被更新,情节被重新绘制第二次。
有什么方法可以防止多次重绘绘图,并且只有在所有其他 UI 元素都更新后才绘制它?
server.R 代码 sn-p
# Check boxes for variants in run
output$choose_variants <- renderUI({
# Get the variants associated with the run
dat <- loadVariants(input$dateRange[1], input$dateRange[2])
if(is.null(dat))
return()
# Create the checkboxes and select them all by default
checkboxGroupInput("variants", "Variants",
choices = dat$variant,
selected = dat$variant)
})
# Output the data
output$plot1 <- renderPlot({
runLocations <- loadRunsBetweenDates(input$dateRange[1], input$dateRange[2], input$variants)
#ggplot()
})
ui.R代码sn-p
sidebarPanel(
dateRangeInput('dateRange',
label = 'Date range',
start = Sys.Date(), end = Sys.Date()
),
uiOutput("choose_variants")
),
【问题讨论】:
-
弗洛里安比我快 :(
isolate()是要走的路!