r 在Shiny中插入动态UI数量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r 在Shiny中插入动态UI数量相关的知识,希望对你有一定的参考价值。

# Using lapply
# Separate insertUI function and lapply function

library(shiny)

ui = basicPage(
  numericInput("n", "Number", 1, min = 1),
  actionButton("add", "Add UI")
)

server = function(input, output, session) {
  
  insert_ui <- function() {
    insertUI(
      selector = "#add",
      where = "afterEnd",
      ui = textInput(paste0("txt", input$add),
                     "Insert some text")
    )
  }
  
  observeEvent(input$add, {
    lapply(seq(input$n), function(x) insert_ui())
  })
}

shinyApp(ui, server)
# Using for loop

library(shiny)

ui = basicPage(
  numericInput("n", "Number", 1, min = 1),
  actionButton("add", "Add UI")
)

server = function(input, output, session) {
  
  observeEvent(input$add, {
    for (var in seq(input$n)) {
      insertUI(
        selector = "#add",
        where = "afterEnd",
        ui = textInput(paste0("txt", input$add),
                       "Insert some text")
      )
    }
  })
}

shinyApp(ui, server)

以上是关于r 在Shiny中插入动态UI数量的主要内容,如果未能解决你的问题,请参考以下文章

使用 R/Shiny 创建动态数量的输入元素

R Shiny:如何构建动态 UI(文本输入)

R Shiny:如何将数据表添加到动态创建的选项卡

R Shiny:如何动态附加任意数量的输入小部件

R Shiny动态盒子高度

R Shiny 启用/禁用 UI 模块