r - Shiny 的 reactiveUI 挂起,同时对同一条件变量进行多个 uiOutput 调用

标签 r shiny

我正在尝试使用通过 Shiny 的下拉菜单插入和退出的 slider 制作一个响应式(Reactive) UI。我有一个带有响应式 UI slider 的服务器(server.R):

library(shiny)
shinyServer(function(input, output) {
  output$slider1 <- reactiveUI(function() {
    sliderInput("s1", "slide 1", min = 1,  max = 100, value = 1)  
  })

  output$slider2 <- reactiveUI(function() {
    sliderInput("s2", "slide 2", min = 1,  max = 100, value = 1)   
  }) 
})

我可以使用以下代码(ui.R)正常运行服务器:
library(shiny)
shinyUI(pageWithSidebar(
  headerPanel("Hello Shiny!"),
  sidebarPanel(

    selectInput("dataset", "number of buckets:", 
                choices = c(1,2,3)),

    conditionalPanel(
      condition = "input.dataset==2",
      uiOutput("slider1"),uiOutput("slider2")),

    conditionalPanel(
      condition = "input.dataset==1",
      sliderInput("s1", "slide 1", min = 1,  max = 100, value = 1) 
      )
  ),
  mainPanel(
  )
))

但是如果我尝试让两个条件面板都调用 uiOutput,服务器会卡住:
library(shiny)
shinyUI(pageWithSidebar(
  headerPanel("Hello Shiny!"),
  sidebarPanel(

    selectInput("dataset", "number of buckets:", 
                choices = c(1,2,3)),

    conditionalPanel(
      condition = "input.dataset==2",
      uiOutput("slider1"),uiOutput("slider2")),

    conditionalPanel(
      condition = "input.dataset==1",
      uiOutput("slider1") 
      )
  ),
  mainPanel(
  )
))

我玩过这个,发现任何时候使用相同的条件变量和多个 uiOutput 调用都会发生这种情况。有什么建议么?谢谢。

最佳答案

请参阅@Joe 的评论以获取答案。

基本上,outputID s 和 inputIDs必须是独一无二的;同一页面上具有相同 ID 的两个 UI 元素发出并出错。这是 Shiny 的 react 性的限制。

@Jim 的解决方法是为客户端使用的每个输出或输入创建多个元素,例如

 output$slider2_1 <- ...
 output$slider2_2 <- ...

关于r - Shiny 的 reactiveUI 挂起,同时对同一条件变量进行多个 uiOutput 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14734041/

相关文章:

r - 如何将列表与环境一起放置?

rdata:某种方法来遍历数据框的列名?

r - Shiny - 将 NULL 返回到plotOutput 时出现黑框

r - 可以在不打开 R 环境的情况下运行 RShiny 应用程序吗?

r - 无法通过 R-Shiny 显示 Leaflet HTML(404 错误)。如何将 KML 文件与 rMaps 或 leaflet-shiny 集成?

R Shiny 将来自多个动态生成的 textAreaInput 字段的用户输入存储在服务器部分的对象中

r - 如何使用 Torque/MOAB 调度程序设置 doSNOW 和 SOCK 集群?

R:可以制作没有光泽的传单图和渲染表吗?

r - eval(expr, envir, enclos) 错误 : could not find function - Nested Functions & Environments

r - 有什么办法让R Shiny支持多用户吗?我说的是数百个并发用户