【发布时间】:2018-01-23 21:01:25
【问题描述】:
我希望能够在 R 中使用 actionButton 更改条件面板。通过阅读相关问题,我想出了以下示例。那是行不通的!但我不知道为什么。
应用代码:
ui = fluidPage(
conditionalPanel('output.CP_Flag == "1"', 'Condition met'),
conditionalPanel('output.CP_Flag == "2"', 'Special case: Flag == 2'),
conditionalPanel('output.CP_Flag != "1"', 'Condition not met'),
selectInput(inputId = 'Selection',
label = 'Select value, 1 meets the condition',
choices = 1:10),
actionButton(inputId = 'Change_Panel',
label = 'Change Panel')
)
server = function(input, output, session) {
CP_Flag = reactive({CP$Flag})
output$CP_Flag = renderText({CP_Flag()})
outputOptions(output, 'CP_Flag', suspendWhenHidden=FALSE)
observeEvent(input$Change_Panel, Fn_CP_Function(as.numeric(input$Selection)))
}
shinyApp(ui, server)
支持代码:
CP = new.env(parent = emptyenv())
CP$Flag = 2
Fn_CP_Function = function(i){
CP$Flag = i
}
这不是格式的问题,例如数字与字符,或者引号数量不一致,因为在 R 本身中更改 CP$Flag 会产生我期望的结果。只是actionButton没有任何作用。
我将不胜感激 (a) 任何关于为什么这不起作用的见解或 (b) 实现目标的代码 sn-p:根据操作按钮的点击更新条件面板。
【问题讨论】: