2015-07-01 86 views
3

我在我的Shiny應用程序中有selectizeInput。它處於多選模式,因此用戶可以指定多個選擇。在R的Shiny應用程序中,如何延遲響應的觸發?

但是,每次添加選擇時,依賴於selectizeInput的反應會被觸發。假設用戶打算選擇ABC。目前,我的應用程序將爲選擇AA, BA, B, C執行昂貴的計算,只需要最後一個。

我認爲解決這個問題的最好方法是延遲selectizeInput的觸發一秒鐘左右,讓用戶有機會進入所有的選擇。每個新選擇都應該將定時器設置回1秒。我知道Shiny提供了一個invalidateLater命令,但是這會導致被動反應一次又一次被觸發。

我怎樣才能得到反應到只有火災一次?

+3

您可以使用按鈕,所以一旦用戶選擇了所有內容,它只會觸發計算? – MarkeD

+2

這是http://stackoverflow.com/questions/31051133/how-do-i-make-sure-that-a-shiny-reactive-plot-only-changes-once-all-other-reacti的複本或更少,我回答。簡而言之,您將無效值與計時器結合在一起。 –

+0

使用操作按鈕絕對是您的選擇。如果您選擇預定的活動,並且用戶「減慢」速度,則可以回到原來的狀態。 – zero323

回答