r - 如何使用 insertUI 将文本输入转换为 Shiny 应用程序中的输出

标签 r shiny textinput

我有一个小型的 Shiny 应用程序,可以使用 insertUI 随机化发言者列表(以防有更多发言者列表)。

问题是我只能使用 textInput 让它工作,并且在没有输入框的情况下无法完成它 - 只是显示没有框的文本。 这更多的是一个美学问题,但经过几个小时的不成功尝试后,我在这里寻求帮助。

非常感谢您的帮助。
鹤望兰

这是代码:

if (interactive()) {
       
  ui <- fluidPage(      
    actionButton("add", "Next speaker")
         )
  
  # Server logic
  server <- function(input, output, session) {
    a <- sample(c("Speaker 1","Speaker 2","Speaker 3","Speaker 4","Speaker 5"))
    uiCount = reactiveVal(0)
    observeEvent(input$add, {
      
      uiCount(uiCount()+1)
      insertUI(
        selector = "#add",
        where = "afterEnd",
        ui = textInput(paste0("txt", input$add), paste0("Speaker #", uiCount() , ": "),
                       placeholder = a[uiCount()] ), 
      )
    })
  }
  shinyApp(ui, server)
}

最佳答案

这更接近你想要的吗?

ui <- fluidPage(
  actionButton("add", "Next speaker"),
  uiOutput("txt")
)

server <-  function(input, output, session) {
  a <- sample(c("Speaker 1","Speaker 2","Speaker 3","Speaker 4","Speaker 5"))
  uiCount = reactiveVal(0)
  
  observeEvent(input$add, {
    uiCount(uiCount()+1)
    
    output$txt <- renderUI({
      div(
        p(
          paste0("Speaker #", uiCount(), " :", a[uiCount()])
        ) #close p
      ) #close div
    })
  })
}
shinyApp(ui, server)

关于r - 如何使用 insertUI 将文本输入转换为 Shiny 应用程序中的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65690272/

相关文章:

arrays - 从数组中提取数组

r - 使用外部包的foreach并行计算

mysql - 通过单击输入文本框从 R Shiny 运行 SQL 查询

使用媒体查询时 Android 键盘无法打开

r - WinBUGS/R 中贝叶斯分层建模(使用三个级别)的建议示例

r - R Shiny应用程序中的执行延迟

javascript - 复选框组选择的动态限制

javascript - 在 onFocus 中使用 setState 移除焦点

c++ - 写入文本文件而不覆盖它

r - 如何在 r 中制作 3D 平行坐标图