2017-11-14 1 views
1

Shiny 응용 프로그램에서 conditionalPanel을 만들고 있습니다. 자바 스크립트 조건을 디버깅하려고 시도하지만 검사하지 않고 임의의 자바 스크립트 비트를 추측하고 있습니다. 상태를 직접 검사 할 수있는 방법이 있습니까?인쇄 Shiny conditionalPanel에서 JavaScript 조건 사용

selectizeInput('groups','Groups:', 
        choices = list('Choice1' = 'choice1','Choice2' = 'choice2'), 
        multiple = TRUE,selected = NULL 
) 

conditionalPanel(
      print("input.groups.indexOf('choice2') >= 0"), # desired output 
      condition = "input.groups.indexOf('choice2') >= 0", 
      selectInput("statusfilter", "StatusFilter", 
         list("NewChoice1" = "nc1","NewChoice2" = "nc2")) 
) 

위 코드 (내 프로덕션 코드에서 일반화)는 선택 사항을 클릭하기 전에 시작시 conditionalPanel을 표시합니다. 일단 내가 선택하면 'choice2'를 선택할 때까지 사라집니다. 상태를 검사 할 수 있으면 빨리 해결할 수 있습니다. 코드가 실행되도록 당신이 당신의 자바 스크립트 콘솔을 열 경우, 오류를 볼 수 있습니다, 우리의 인쇄 문을 주석 후

답변

1

:

Error parsing expression: input.groups.indexOf('choice2') >= 0

이것은 당신의 JS 코드 나누기를 제안합니다. input.groups이 null이고 null 값에 .indexOf을 지정하면 오류가 발생하기 때문입니다.

그래서 당신이 상태에서 원하는 것은 :

의미가

condition = "input.groups !== null && input.groups.indexOf('choice2') >= 0"

+0

! 나는 일반적인 디버깅 옵션에 대해 더 많은 질문을 던지려고 노력했다. 나는 그들이 스스로를 찾을 곳을 아는 지 묻지 않았을 비슷한 질문을 많이 보았다. JS 콘솔을 사용하여 디버깅을 강조하도록 답변을 편집 할 수 있다면 일반적인 질문에 더 잘 답변 할 수있을 것이라고 생각합니다. 그래도 특정 질문에 답하는 것이 정말 도움이됩니다! – ARobertson

+0

잘 디버깅을하지 못했습니다. 콘솔을 기본 첫 단계로 열어 오류를 보았습니다. 자주 null 값으로 무엇인가하려고 할 때 무죄처럼 보이는 코드에서 자바 스크립트 및 R에서 오류가 발생하는 경우가 많으므로이를 확인하고 확인했습니다. –