如何解决添加或删除textInput行
我正在寻找在R Shiny中添加/删除textInput
行的方法。所需的输出类似于下图:
所需的输出不一定是表格。或者,当用户单击“添加”时,将出现一个列表,其中包含与上一行相同数量的空白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()来添加行并在表格中对其进行编辑
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。