2013-08-20 23 views
6

này sẽ làm việcConditionalPanel không hỗ trợ các biến có dấu chấm trong tên, mọi công việc xung quanh?

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

), 

nhưng điều này không

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

), 

ở đâu trong tài liệu nào nó nói tên với dấu chấm không được hỗ trợ? Có công việc nào xung quanh để tôi không phải thay đổi tên biến của mình không?

Trả lời

7

Trong conditionalPanel điều kiện là biểu thức Javascript. Bạn đang dựa vào ký hiệu chấm của Javascript khi bạn nhập "input.test".

Bạn không phải thay đổi tên biến của mình. Có một cách giải quyết đơn giản, chỉ cần sử dụng các ký hiệu khung vuông thay vì: input["tes.t"]

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

sẽ làm việc.