私はいくつかのShinyコードを書いています。ここで、ユーザーはアプリにいくつかの入力を入力して、アクションボタンをクリックします。アクションボタンは長い時間かかるシミュレーションを実行させるので、アクションボタンをクリックして無効にすると、シミュレーションが実行されるまでユーザーがクリックし続けることはできません。私はshinyjs::enable
とshinyjs::disable
の機能に遭遇しましたが、それらを利用するのは苦労していました。ここに私のサーバーのコードは次のとおりです。ただしShinyのボタンを無効にする
output$button1= renderUI({
if(input$Button1 > 0) {
shinyjs::disable("Button1")
tableOutput("table")
shinyjs::enable("Button1")}
})
、私はこのコードを使用すると、何も起こりませんアクションボタンをクリックしたとき。つまり、アクションボタンがグレーアウトしたり、テーブルが生成されたりしません。私はつまり、
output$button1= renderUI({
if(input$Button1 > 0) {
shinyjs::disable("Button1")
tableOutput("table")
}
})
、shinyjs::enable()
コマンドを奪うときただし、表にはまず生成されますし、ボタンがグレーになり、しかし、私はボタンがグレーに行くと期待しているだろうし、その後、テーブル自体を生成します。
私はここで間違っていますか?ここで
Geovanyの提案に基づいて、私の更新されたコードは、まだそれはまだ私の明確化のために、私も持っている
Button1Ready <- reactiveValues(ok = FALSE)
observeEvent(input$Button1, {
shinyjs::disable("Button1")
RunButton1Ready$ok <- FALSE
RunButton1Ready$ok <- TRUE
})
output$SumUI1= renderUI({
if(Button1Ready$ok){
tableOutput("table")
shinyjs::enable("Button1")
}
})
のために動作しませんです。私が思う
output$table <- renderTable({
#My code....
)}
私はあなたの提案に基づいて質問を更新しました。まだ私のために働いていない。一見単純な間違いがあるかどうかを見て、見ていますか? – RustyStatistician
あなたの問題の最小の実例なしでは、問題は何かを知ることは難しいです。誰でも実行できる作業コードを提供してください。 – Geovany