Create a popup dialog box interactive

前端 未结 3 1185
情书的邮戳
情书的邮戳 2020-12-25 10:35

I was wondering if it is possible to create a popup dialog box interactive by using shiny (and shinyBS).

For example, I have a string and I want to change it and bef

3条回答
  •  死守一世寂寞
    2020-12-25 10:49

    Here's a proposition, I mainly changed the server.R:

    library(shiny)
    library(shinyBS)
    ui =fluidPage(
            textOutput("curName"),
            br(),
            textInput("newName", "Name of variable:", "myname"),
            br(),
            actionButton("BUTnew", "Change"),
            bsModal("modalnew", "Change name", "BUTnew", size = "small",
                    HTML("Do you want to change the name?"),
                    actionButton("BUTyes", "Yes"),
                    actionButton("BUTno", "No")
            )
    )
    server = function(input, output, session) {
            values <- reactiveValues()
            values$name <- "myname";
    
            output$curName <- renderText({
                    paste0("Current name: ", values$name)
                    })
    
            observeEvent(input$BUTyes, {
                    toggleModal(session, "modalnew", toggle = "close")
                    values$name <- input$newName
            })
    
            observeEvent(input$BUTno, {
                    toggleModal(session, "modalnew", toggle = "close")
                    updateTextInput(session, "newName", value=values$name)
            })
    }
    runApp(list(ui = ui, server = server))
    

    A couple of points:

    I created a reactiveValues to hold the name that the person currently has. This is useful because you can then update or not update this value when the person clicks on the modal button. You can access the name using values$name.

    You can use toggleModal to close the modal once the user has clicked on yes or no

提交回复
热议问题