如何解决带有Reactable复选框的自定义闪亮警报
我希望通过Reactable表限制复选框的数量。当达到复选框的最大数量时,我不想允许选中“超过限制”复选框并显示警告消息。
我知道模态警报(太具侵入性)以及矩形警报会显示在窗口右下角(太微妙)。
此处是显示消息(超级简短)并限制复选框数量的代码。如果删除,updateReactable("table",selected = head(selected$vec,-1))
消息将永久保留,但“超出限制”复选框将被选中。
如何限制复选框并显示警告消息2-5秒钟。然后消息消失。
library("tidyverse")
library("shiny")
library("reactable")
max_num_Boxes_checked <- 2
warn_last_update_df <- tibble(
warn_msg = "",last_updated_msg = "Last updated: Sept 26,2020"
)
ui <- fluidPage(
reactableOutput("msg"),reactableOutput("table")
)
server <- function(input,output,session){
selected <- reactiveValues(vec = NULL)
DF1 <- reactiveValues(data = NULL)
observe({
selected$vec <- getReactableState("table","selected")
DF1$data <- warn_last_update_df
})
output$msg <- renderReactable({
reactable(DF1$data,#warn_last_update_df,columns = list(
"last_updated_msg" = colDef(
align = "right",name = ""
),"warn_msg" = colDef(
name = ""
)
))
})
output$table <- renderReactable({
reactable(iris,onClick = "select",selection = "multiple")
})
observeEvent(selected$vec,{
# Change warning msg based on num checkBoxes > 2
if (length(selected$vec) > max_num_Boxes_checked) {
DF1$data[1,1] <- paste0("Max ",max_num_Boxes_checked," allowed.")
# Prevent checkBox from being checked
updateReactable("table",-1))
}
})
}
shinyApp(ui,server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。