之前,我已经构建了一个闪亮的仪表板,其图表输出工作正常,看起来如下:
output$someName <- renderGvis({
input$inputButton
data <- isolate(myData(function here))
donut <- gvisDonut({...})
return(donut)
})
由于添加了observeEvent和eventReactive,我无法像以前一样工作。本质上,输出$ someName是一个依赖于多个输入的图表,每次用户点击inputButton时,我都需要renderGvis来重新评估。当按下任何按钮时,该功能不应在任何其他输入发生变化时重新进行评估。
我有一些运气让observeEvent在输入$ inputButton上运行,但是,每次我更改任何输入参数时,都可以快速重新运行查询而无需按下按钮。在这里任何人?
下面有更详细的说明:
output$someName <- renderGvis({
input$inputButton
data <- isolate(dataGrabber({})) # function that takes input and returns data frame using RMySQL
isolate(simpleChart(data = data)) # simpleChart is a function to produce a gvisCalendar chart.
答案 0 :(得分:5)
好的......如果有人遇到这个问题,我会找到答案。由于某些原因我过去没有遇到过的问题是,无论actionButton的值是否为0,隔离函数现在都会运行。我相信在过去,它不会运行直到actionButton的值大于0。
简单的解决方法是:
output$someName <- renderGvis({
input$inputButton
if (input$inputButton == 0)
return()
isolate({ code to isolate})
})