总是会出现闪亮的conditionalPanel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总是会出现闪亮的conditionalPanel相关的知识,希望对你有一定的参考价值。

我构建了一个小型应用程序,它使用了一个开箱即用的条件面板。

第二次尝试不太令人满意。问题是无论条件是否满足,条件面板都会出现。

这是我在精简版中的内容:

 library(shiny)
 source('distplot.r')
 ui<-fluidPage(
 fluidRow(

 radioButtons("intype", 'Data or Statistics?',
         c(Data="d", Statistics="s")),

 #Only show this if sample data are to be entered     
 conditionalPanel(
    condition = "input$intype == 'd'",
      textInput('x', 'Sample Data (Comma Separated)', value='')),

#Only shows this panel for summary statitics (sd or sigma if known)
conditionalPanel(
    condition = "input$intype == 'r'",
        numericInput('m','Sample Mean',value=''),
        numericInput('sd','SD (Population or Sample)',value=''),
        numericInput('n','Sample size',value=''))
          )
             )       

 server<-function(input, output){

     DTYPE<-eventReactive(input$go,{input$dtype})
     output$plot<-renderPlot({hist(runif(1000))})
                        }
shinyApp(ui=ui, server=server)

无论input$intype的值如何,总是会出现两个条件面板。

答案

你需要使用input.intype而不是input$intype。此外intype在你的例子中只能是'd''s',你在你的条件下使用'r'

来自?shiny::conditionalPanel的详细信息部分:

在JS表达式中,您可以引用包含输入和输出的当前值的输入和输出javascript对象。例如,如果您的id为foo的输入,则可以使用input.foo读取其值。 (请确保不要修改输入/输出对象,因为这可能会导致不可预测的行为。)

以上是关于总是会出现闪亮的conditionalPanel的主要内容,如果未能解决你的问题,请参考以下文章

使 conditionalPanel 依赖于使用 fileInput 上传的文件

仅当绘图类型是条形图时才显示这些面板。 R 闪亮

Shiny:基于 selectizeInput 的 conditionalPanel 问题

如何在 Shiny 的 ConditionalPanel 中将列表添加到隐藏的选项中?

conditionalPanel 和 uiOutput/req 模式之间的区别

Shiny pickerInput - conditionalPanel 仅将值设置为第一个选择