2013-08-20 1 views
6

Questo dovrebbe funzionareConditionalPanel non supporta variabili con punti nel nome, qualsiasi soluzione intorno?

checkboxInput("test", "test", TRUE), 
    conditionalPanel(
    condition="input.test", 
    h2("test test") 

), 

ma questo non

checkboxInput("tes.t", "tes.t", TRUE), 
    conditionalPanel(
    condition="input.tes.t", 
    h2("tes.t tes.t") 

), 

Dove nel documento c'è scritto il nome con i puntini non sono supportati? Ci sono dei problemi, quindi non devo modificare i nomi delle variabili?

risposta

7

In conditionalPanel la condizione è un'espressione Javascript. Ti stai affidando alla notazione dot di Javascript quando digiti "input.test".

Non è necessario modificare i nomi delle variabili. C'è una soluzione semplice, basta usare la notazione parentesi quadra invece: input["tes.t"]

checkboxInput("tes.t", label="tes.t", TRUE), 
    conditionalPanel(
     condition='input["tes.t"]', 
     h2("tes.t tes.t") 

funzionerà.