我正在编写一些Shiny代码,用户将在该应用程序中输入一些输入,然后单击一个操作按钮 . 操作按钮会触发一系列模拟运行需要很长时间,所以我想在单击操作按钮后将其禁用,以便用户在模拟运行之前无法一直点击它 . 我遇到了 shinyjs::enable 和 shinyjs::disable 函数,但一直很难利用它们 . 这是我的服务器代码:
output$button1= renderUI({
if(input$Button1 > 0) {
shinyjs::disable("Button1")
tableOutput("table")
shinyjs::enable("Button1")}
})
但是,当我使用此代码时,单击操作按钮没有任何反应 . 即,操作按钮不会变灰,也不会生成表格 . 但是,当我拿走 shinyjs::enable() 命令时,即,
output$button1= renderUI({
if(input$Button1 > 0) {
shinyjs::disable("Button1")
tableOutput("table")
}
})
首先生成表格,然后按钮变为灰色,但我希望按钮变为灰色,然后表格生成自己 .
我在这做错了什么?
Here is my updated code based on Geovany's suggestion yet it still doesn't work for me
Button1Ready
observeEvent(input$Button1, {
shinyjs::disable("Button1")
RunButton1Ready$ok
RunButton1Ready$ok
})
output$SumUI1= renderUI({
if(Button1Ready$ok){
tableOutput("table")
shinyjs::enable("Button1")
}
})
在哪里澄清我还:
output$table
#My code....
)}