2011-10-13 3 views
0

질문 : 레이아웃 표시를 설정하면 DOM 트리에 추가되거나 DOM 트리에서 제거됩니다. vaadin은 제거 된 부분으로 무엇을합니까? 그것을 숨기거나 가시성을 다시 한번 표시하도록 설정하면 다시 만들어 집니까? 그리고 그것의 재창조가 그것의 모든 하위 구성 요소가 다시 부착된다면?바덴 가시 DOM 트리

내가 물어 보는 이유는 그 안에 폼이있는 VerticalLayout과 폼을 사용할 때 아래 코드를 사용할 수 없다는 것입니다. layout.setVisible에서 나가면 크기를 100 %로 설정 한 텍스트 필드를 볼 수 없습니다. (true) -> false -> 다시 표시합니다.

private Form getAttachedForm() { 
    return new Form(){ 
     private static final long serialVersionUID = 1L; 

     @Override 
     protected void attachField(Object propertyId, Field field){ 
      if(field instanceof TextField){ 
       TextField tf = (TextField)field; 
       tf.setWidth("100%"); 
      }else if(field instanceof DateField){ 
       DateField df = (DateField)field; 
       df.setResolution(DateField.RESOLUTION_DAY); 
       df.setDateFormat("yyyy-MM-dd"); 
      } 
      super.attachField(propertyId, field); 
     } 
    }; 
} 

답변

0

만약 angel는 DOM의 요소를 제거하지만, 원소 (들)의 속성 display (CSS)를 설정하지 않는다. 그러나 사이징 정보도 삭제 된 것으로 보이며 구성 요소가 다시 표시 될 때 계산이 수행되지 않는 버그가있을 수 있습니다.

dev.vaadin.com에있는 버그 보고서를 보내 주시면 감사하겠습니다.