2013-03-20 1 views
0

보기 초기화 중에 단추를 사용하여 등록 패널을 만들고 도구 모음을 추가했습니다. 컨트롤러에서 양식 패널을 만들고이를 동적으로 등록 패널에 추가하고 있습니다.sencha 구성 요소를 너비 장치 독립적으로 만드는 방법

등록 패널의 도구 모음은 장치 화면을 기준으로 조정되지만 양식 패널 너비는 변경되지 않습니다.

양식 패널의 너비를 설정하면 양식 패널이 떠 있거나 너비가 동일하게 유지됩니다.

이것은 내가 한 일입니다. 등록 컨트롤러에서

Ext.define('Form.view.RegisterForm',{ 
    extend : 'Ext.Panel', 
    xtype : 'register', 
    id : 'register', 

    initialize : function() { 
     console.log("register init"); 
     var submit = { 
      xtype : 'button', 
      width : '100px', 
      ui : 'action', 
      text : 'Submit', 
      handler : this.onSubmitTap, 
      scope : this 
     }; 

     var topToolbar = { 
      xtype : 'toolbar', 
      docked : 'top', 
      id : 'registerToolbar', 
      title : 'Form', 
      items : [{ 
       xtype : 'spacer' 
      }, submit] 
     }; 

     this.add(topToolbar); 
    }, 
    config : { 
     fullscreen : true, 
     layout : { 
      type : 'vbox' 
     }, 
     title : 'Register' 
    }, 

    onSubmitTap : function() { 
     console.log("onSubmit"); 
     this.fireEvent('submitCommand', this); 
    } 

}); 

난 당신의이 같은 문제를 내놓았다 경우 동적으로

// RegisterFormController.js 

    oncreateForm : function() { 
      var form = { 
        xtype: 'formpanel', 
        flex : 1, 
        id: formId, 
        name: formId 
       }; 
      Ext.getCmp('register').add(form); 

    } 

// calling onCreateComponent method with xtype, label, value and fromId 

     onCreateComponent : function(fxtype,flabel,fname,fvalue,id) { 
      Ext.getCmp(id).add({ 
       xtype: fxtype, 
       label: flabel, 
       name: fname, 
       value: fvalue, 
       labelWrap:true 
      }); 
     } 
+0

코드의 관련 부분을 게시 하시겠습니까? – tpolyak

+0

당신은 레이아웃을 시도 할 수 있습니다 : 패널에 'fit'하십시오. –

+0

@NareshTank, 시도했지만 작동하지 않았습니다. – Viswa

답변

0

필드를 추가.

내가 한 실수는 "hbox 패널에 4 개의 라디오 버튼을 추가하여 패널의 폭이 늘어나서 전체 폼 패널이 다른 장치에 제대로 표시되지 않는 이유입니다."

패널 레이아웃을 vbox로 변경 한 후에 문제가 해결되었습니다.

관련 문제