闪亮的隔离 - 如何不将隐藏的条件输入数据发送到服务器?

时间:2015-07-04 11:42:27

标签: html r shiny

如何让Shiny 隐藏条件输入数据从Shiny UI发送到服务器?

我有这个问题,我不知道如何解决它。

当我选择&#39;一个网站&#39;并且网站2的下拉选择选项隐藏,而我想要任何网站2 < / strong>要发送到服务器的数据。

但是,当我按下GO按钮时,Shiny会将隐藏的输入数据发送到服务器。我怎么能不发送它?

以下是我的代码,

ui.R,

# Site 1 options.   
site1 <- selectInput(
    inputId = "site1",
    label = "Select a first site:",
    choices = c('1a', '1b')
)

# Site 2 options.
site2 <- selectInput(
    inputId = "site2",
    label = "Select a second site:",
    choices = c('2a', '2b')
)

shinyUI(
    pageWithSidebar(
        headerPanel("Shiny App"),
        sidebarPanel(
            selectInput(
                "distribution", 
                "Please select a type:", 
                choices = c("Both sites", "One site")
            ),

            # Site select input.
            site1,

            # Condition when the plot is a line plot.   
            conditionalPanel(
                condition = "input.distribution == 'Both sites'",
                site2
            ),     
            actionButton("goButton", "Go!")
        ),
        mainPanel(
            plotOutput("myPlot")
        )
    )
)

server.R,

shinyServer( 
    function(input, output, session) {
        output$myPlot = renderPlot({

            # Take a dependency on input$goButton
            input$goButton

            site1 <- isolate(input$site1)
            site2 <- isolate(input$site2)

            plot(1, 1, col = "white")
            text(1, 1, paste(site1, " ", site2))
        })
    } 
)

以下是视觉效果:

两个站点(正确的结果),

enter image description here

一个网站(不正确的结果),

enter image description here

预期结果,

enter image description here

有什么想法吗?这是Shiny的错误吗?

0 个答案:

没有答案