【问题标题】:Avertissement window after actionButton click on shinyactionButton点击闪亮后的广告窗口
【发布时间】:2021-05-14 16:35:14
【问题描述】:

我目前正在制作一个闪亮的应用程序,我有一个功能允许我使用“actionButton”从数组中删除或添加一行,以及原始数组文件中的同一行。但是我想知道是否有办法在执行操作之前显示警告,询问用户是否确定要删除该行(在闪亮的或 html 或 JS 中)。

这是一个添加行的例子:

#ui.R

BDD <- box(title = "Ajout d'un genre ou d'une famille dans la BDD",status = "primary",solidHeader=TRUE, width = 12,                   
            fluidRow(
              # column(12,fileInput(inputId="BDDtxt", label = "Selectionner le Fichier BDD des flore connues")),
              column(4,textInput("Genus_Species", "Genre ou Espèce", value = "")),
              column(5,offset = 2, textInput("description","Note sur la bacterie",value = "")),
              column(12,checkboxGroupInput("flores","Marqueurs de ces flores :",c("Digestive","Cutanée","Oro-pharyngée","environementales"))),
              column(4,offset=2,actionButton("ajouter", "Ajouter à la BDD")),
              column(4,offset=1,actionButton("modifier", "Modifier la BDD"))
              
            )
)
TabBDD <- box(title = "Affichage du tableau  BDD",status = "primary",solidHeader=TRUE, width = 12,                   
              fluidRow(
                column(12,DT::dataTableOutput("TabBDD")),
                column(12,offset=4,actionButton("selectionner","Sélectionner"))
              )
          )

#server.R

      values <- reactiveValues(
        TabBDD = NULL
      )
      
      observe({
        if(file.exists("BDDflore.txt")) {
          values$TabBDD <- read.delim("BDDflore.txt")
        } else {
          NULL
        }
      })
      
      observeEvent(input$ajouter,{
        Tab <- data.frame(
                  Species = input$Genus_Species,
                  Flore = paste(input$flores, collapse = ","),
                  Comment = input$description
        )
        write_delim(Tab,
                    file = "BDDflore.txt",
                    delim = "\t",
                    append = TRUE)
        if (is.null(values$TabBDD)) {
          values$TabBDD <- Tab
        } else {
          values$TabBDD <- rbind(
            values$TabBDD,
            Tab
          )
        }
      })

      output$TabBDD <- DT::renderDataTable({
        if(!is.null(values$TabBDD)){
          values$TabBDD
        }
      })


#BDDflore.txt  

Species Flora   Comment
Propionibacterium acnes Cutanée Marqueur de la flore cutanée

提前致谢

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    也许使用 shinyalert 包,类似这样:

    observeEvent(input$delete, {
      shinyalert(
        title = "Are you sure?",
        text = "Delete row?", 
        showCancelButton = TRUE,
        cancelButtonText = "No",
        callbackR = function(ok) { 
          if(ok){
            # R code to delete the row
          }
        }
      )
    })
    

    【讨论】:

    • 谢谢!!我只是在 ui.R 上添加“useShinyalert()”就完美了!!
    猜你喜欢
    • 2022-12-10
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 2016-02-20
    • 2017-04-10
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多