r语言 - 删除行DT数据表在闪亮的应用程序



我有一个闪亮的应用程序,在DT表中显示数据帧数据。在应用程序中,我有一个按钮,我当点击将删除所选的行。它的作品第一次我选择行,并单击删除按钮,但再次单击错误的行被删除后,任何以前删除的行重新出现。我假设这是因为它重新加载数据帧(从csv)当我调用DT::renderDataTable()

从数据帧中删除选定行后,如何重新呈现表?

这可以让你开始:

ui。R

    library(shiny)
    library(DT)
    shinyUI(fluidPage(
       titlePanel("Delete rows with DT"),
              sidebarLayout(
                sidebarPanel(
                    actionButton("deleteRows", "Delete Rows")
                ),
                mainPanel(
                   dataTableOutput("table1")
                )
              )
    ))

服务器。R

    library(shiny)
    library(DT)
    library(dplyr)
    df <- data.frame(x = 1:10, y = letters[1:10])
    shinyServer(function(input, output) {
            values <- reactiveValues(dfWorking = df)
           observeEvent(input$deleteRows,{
                    if (!is.null(input$table1_rows_selected)) {
                            values$dfWorking <- values$dfWorking[-as.numeric(input$table1_rows_selected),]
                    }
            })
            output$table1 <- renderDataTable({
                    values$dfWorking
            })
    })

最新更新