我想使用checkboxGroupInput,然后,如果选中某个框,我想要一个conditionalPanel。这里有一个玩具示例:
shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
checkboxGroupInput("items","Which Item?",
choices=c("A","B","C","D")),
conditionalPanel( condition = "input.items == 'D'",
numericInput("n","n",value=50,min=0,max=100,step=1)
)
),
mainPanel(
uiOutput("text")
)
)
))
现在如果只选择了“D”框,这样可以正常工作,但是如果选择了几个框,则不行(如果我的问题正常)。
在server.R中的类似
if("D" %in% input$which)
工作正常,但似乎在ui.R中不起作用。我也尝试了ala R的子集,例如
conditionalPanel( condition = "input.items[4] == 'D'",
但这也不起作用。
沃尔夫冈
答案 0 :(得分:9)
docendo给出了正确的答案:语法是
conditionalPanel(condition = "input.items.includes('D')"
谢谢!
答案 1 :(得分:2)
它以某种方式不再适用于闪亮的v1.1.0。我正在平台平台上使用R版本3.5.1。以下内容比includes()
解决方案更适合我(以防其他人遇到相同的问题):
conditionalPanel(condition = "input.items.indexOf('D') > -1", ...)