R 带有可反应复选框的自定义闪亮警报
我希望使用可反应表限制复选框的数量。当达到最大复选框数时,我希望不允许选中“超出限制”复选框并显示警报消息 我知道模式警报(太侵入性)和矩形警报可能出现在窗口的右下角(太微妙) 下面是显示消息(超级简短)并限制复选框数量的代码。如果删除,R 带有可反应复选框的自定义闪亮警报,r,shiny,reactable,R,Shiny,Reactable,我希望使用可反应表限制复选框的数量。当达到最大复选框数时,我希望不允许选中“超出限制”复选框并显示警报消息 我知道模式警报(太侵入性)和矩形警报可能出现在窗口的右下角(太微妙) 下面是显示消息(超级简短)并限制复选框数量的代码。如果删除,updateReactable(“table”,selected=head(selected$vec,-1))消息将永久保留,但选中“超出限制”复选框 如何限制复选框并显示警告消息2-5秒。然后信息消失了 library("tidyverse"
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", selected = head(selected$vec, -1))
}
})
}
shinyApp(ui, server)
库(“tidyverse”)
图书馆(“闪亮”)
库(“可反应”)
已选中“最大数量”复选框