【发布时间】:2018-03-09 04:50:36
【问题描述】:
我正在构建一个 R Shiny 仪表板,并尝试实现条件面板。当然,我是 JavaScript 新手。 SO上有很多关于conditionalPanels的帖子,但我看到的每一个都在其条件表达式中使用input.something,通常是这样的:
conditionalPanel(
condition = "input.tabs == 'correlation'",
actionButton("generate_correlation", "Generate Heat Map")
)
我知道条件语句中的表达式是一个作为 JavaScript 表达式求值的字符串,但我想知道是否可以访问 input 之外的其他变量和对象?例如,它可以评估反应函数吗?我想按下一个按钮,然后有条件地出现一个新选项卡。我已经创建了
tabPanel("Tab 1",
actionButton("dropColumnsComplete", "Next"))
然后,我在服务器端创建了一个反应式表达式来处理这个问题:
dropColumnsComplete <- reactive(input$dropColumnsComplete,{
return(TRUE)
})
单击按钮会触发input$dropColumnsComplete 事件,该事件应调用在调用函数dropColumnsComplete() 时返回TRUE 的反应式表达式。然后,我添加
conditionalPanel(condition = "dropColumnsComplete()",
tabPanel("Tab 2")
),
我希望按下按钮会导致 Tab 2 出现。我知道我没有正确访问条件表达式中的dropColumnsComplete() - 它应该是document.dropColumnsComplete() 吗? shiny.dropColumnsComplete()?这方面的文档令人惊讶地缺乏,所以我不知道如何在 JavaScript 中访问 input$... 之外的变量。
【问题讨论】:
标签: javascript r shiny