5
如果我在閃亮的應用程序中有多個動態生成的actionButtons,有沒有辦法知道點擊了哪個actionButton並使用單擊的按鈕的Id執行一些計算?在一個閃亮的應用程序中處理多個actionButton的點擊
如果我在閃亮的應用程序中有多個動態生成的actionButtons,有沒有辦法知道點擊了哪個actionButton並使用單擊的按鈕的Id執行一些計算?在一個閃亮的應用程序中處理多個actionButton的點擊
我有一個類似的問題,雖然按鈕不動態生成在我的情況。從問題來看,重點是否是「動態生成」方面並不清楚。如果是這樣我的回答不會幫助你多少...
爲了簡化我的回答我問題縮小到以下幾點:
actionButtons
在我的UI(id="increase"
和id="decrease"
),我有一個整數變量(var
)和文本輸出(id="actual_value"
)來顯示實際值。其中一個按鈕應該增加一個值,另一個應該減小它,顯然輸出應該顯示更新的值。的解決方案是:
shinyServer(function(input, output, session) {
increase <- reactive({
if(input$increase == 0) return()
var <- var + 1
})
decrease <- reactive({
if(input$decrease == 0) return()
var <- var - 1
})
actual.value <- reactive({
increase()
decrease()
var
})
output$actual_value <- renderText({
paste("Actual value is: ", actual.value())
})
})
所以解釋是,有兩個反應性輸入(即,按鈕)和兩個相應的反應性式(increase
和decrease
)。第三個反應表達式(actual.value
)取決於前兩個並返回實際值var
。無功輸出取決於此。
因此,您創建的兩個按鈕(increase
和decrease
)兩個獨立的反應表情,然後多重他們在第三個(actual.value
)。
這有效,但我不知道這是否是解決此類問題的最佳方法。