r - 单击后取消操作按钮的焦点( Shiny )

标签 r shiny

这有点小,但在 Shiny 应用程序中单击操作按钮(通常为浅灰色)后,它会变成深灰色,并且焦点仍保留在其上。用户必须单击其他位置才能使操作按钮恢复到正常的浅颜色。

在这里尝试一下:http://shiny.rstudio.com/gallery/actionbutton-demo.html

无法自动恢复为较浅的颜色意味着用户无法获得按钮已成功按下的视觉反馈。

有办法解决这个问题吗?

最佳答案

另一种方法是在进程运行时禁用该按钮,这也将防止人们在您等待结果时重新单击它。看一下 shinyjs 包,它有很多不错的功能。请注意,我添加了 2 秒延迟来模拟长时间操作。

rm(list=ls())
library(shinyBS)
library(shiny)
library(shinyjs)

ui <- pageWithSidebar(
  headerPanel("actionButton test"),
  sidebarPanel(numericInput("n", "N:", min = 0, max = 100, value = 50),
    tags$div(style="display:inline-block",title="Push Me",bsButton("goButton", label = "Button", block = TRUE,style="primary"))
  ),
  mainPanel(useShinyjs(),verbatimTextOutput("nText")
  )
)

server <- shinyServer(function(input, output,session) {

  ntext <- eventReactive(input$goButton, {
    shinyjs::disable("goButton")
    Sys.sleep(2)
    shinyjs::enable("goButton")
    input$n
    })

  output$nText <- renderText({ntext()})

})
shinyApp(ui = ui, server = server)

禁用按钮 enter image description here

启用按钮 enter image description here

关于r - 单击后取消操作按钮的焦点( Shiny ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38214349/

相关文章:

r - 使 ggplot2 中的 geom_smooth() 适应观测数量

R - 是否有类似于 list.dirs 的函数,它返回命名嵌套列表而不是字符向量?

html - Shiny 的如何使用 htmltools 语法问题合并 dec 图标

r - CentOS 安装 R 包 RLumShiny 失败

Shiny 的响应式(Reactive) DateRangeInput

mysql - 在Shiny应用程序中,如果发生任何更改,如何每10分钟刷新MySQL数据库中的数据

r - 了解 R gbm 包中的树结构

r - 无法安装我创建的包

r - rmarkdown 中的 "plot.new has not been called yet"错误(Rstudio 1.0.44)

r shiny 数据表有时不显示