簡體   English   中英

添加或刪除文本輸入行

[英]Add or delete rows of textInput

我正在尋找在 R Shiny 中添加/刪除textInput行的方法。 所需的輸出類似於下圖:

圖片來源: https : //www.tutorialrepublic.com/snippets/preview.php?topic=bootstrap&file=table-with-add-and-delete-row-feature

所需的輸出不一定是表格。 或者,當用戶單擊“添加”時,應出現一個包含與前一行相同數量的空白textInput條目的列表(用戶不能添加更多列)。 當用戶點擊“刪除”時,相應的行應該被刪除。 能夠從每個文本框中捕獲用戶輸入非常重要。 有沒有辦法使用 R Shiny 輕松完成此操作?

這個怎么樣:

library(shiny)

ui <- fluidPage(
    sidebarLayout(
        sidebarPanel(
            sliderInput("input_no",
                        "Number of inputs:",
                        min = 1,
                        max = 5,
                        value = 30),
            uiOutput("dateinputs")
        ),

        mainPanel(
           verbatimTextOutput("res")
        )
    )
)

server <- function(input, output) {

    output$dateinputs <- renderUI({
        no <- as.integer(input$input_no) 
        lapply(1:no, function(i) {
            
            textInput(paste0("ind", i),
                      label = paste("Textinput ", i))
        })
    })
    
    report_dates <- reactive({
        no <- as.integer(input$input_no) 
        
        sapply(1:no, function(i) {
            input[[paste0("ind", i)]]
        })
    })
    
    output$res <- renderPrint({
        report_dates()
    })
}

shinyApp(ui = ui, server = server)

另一種選擇是使用DT的編輯功能:

看看這個例子: https : //rstudio.github.io/DT/shiny.html (第 2.4 節)。 您可以創建一個 actionButton() 來添加行並在表中編輯它們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM