2014-12-15 2 views
0

ext-5.0.1로 빌드 할 때 가장 최근 sencha cmd를 사용하고 있습니다. 개발 상태 (http://www.imageupload.co.uk/5Med) 동안이지만 빌드가 끝나면 모든 것이 잘 보입니다. 모든 텍스트 필드가 (http://www.imageupload.co.uk/5MeQ)와 같이 축소되었으며 width, minWidth, flex ... 등의 변경 사항에 대한 응답이 없습니다. 또한 y 및 x 속성도 작동하지 않습니다. 사람이 전에 비슷한 상황이 있었다면, 도와주세요sencha cmd 빌드 후 텍스트 필드가 닫힙니다.

, 들으

내 cmd를 v5.0.3.324

여기

내 코드의 일부입니다 : 내 Main.js에서

:

Ext.define('ExtTest2.view.main.Main', { 
    extend: 'Ext.container.Container', 
    requires: [ 
     'ExtTest2.view.main.MainController', 
     'ExtTest2.view.main.MainModel' 
    ], 

    xtype: 'app-main', 

    controller: 'main', 
    viewModel: { 
     type: 'main' 
    }, 

    layout: { 
     type: 'fit' 
    }, 

    itemId:'Stage' 
}); 

MainController.js :

Ext.define('ExtTest2.view.main.MainController', { 
    extend: 'Ext.app.ViewController', 

    requires: [ 
    ], 

    alias: 'controller.main', 

    init: function(){ 
     this.Start(); 
    }, 

    Start: function(){ 
     var data = { 
      itemId: "Page_Login", 
      xtype: "panel", 
      items: [ 
      { 
       padding: 30, 
       layout:{ 
       type: 'vbox', 
       align: 'center' 
       }, 
       xtype: "fieldset", 
       y: "30%", 
       height: 150, 
       items: [ 
       { 
        xtype: "textfield", 
        itemId: "Textfield_Username", 
        fieldLabel: "用戶名稱", 
        labelStyle: "color:#FFFFFF" 
       }, 
       { 
        fieldLabel: "密碼", 
        itemId: "Textfield_Password", 
        labelStyle: "color:#FFFFFF", 
        xtype: "textfield" 
       }, 
       { 
        itemId: "Button_Login", 
        text: "登入", 
        width: 100, 
        xtype: "button" 
       } 
       ] 
      } 
      ] 
     }; 
     var container = Ext.ComponentQuery.query('#Stage')[0]; 
     container.removeAll(); 
     container.add(data); 
     container.updateLayout(); 
    } 
}); 
+0

Cmd의 정확한 버전은 무엇입니까? 또한 누군가가 귀하의 문제를 재현 할 수 있도록 몇 가지 코드를 제공해주십시오. – Saki

+0

OK, 필요한 세부 정보가 포함되었습니다. – user3711105

답변

1
  1. 필드가 들어있는 app-main에 불필요한 컨테이너를 추가했기 때문에 너무 많이 사용되었습니다.
  2. 보기 컨트롤러에서 뷰를 조작하는 것은 매우 드문 경우입니다. 즉, 필드 세트의 클래스를 만들고 별칭 (xtype)을 부여한 다음 인스턴스를 생성하면됩니다. 뷰 정의와 함께 컨트롤러 핸들러를 밀어 넣으면 반드시 필연적으로 Spaghetti Code이됩니다.
  3. 폼 필드를 유지하기 위해 플렉스 나 높이를 사용하지 않고 vbox 레이아웃을 사용합니다. 양식 필드는 Ext.form.Panel의 기본 인 앵커 레이아웃에서 가장 잘 동작합니다.
관련 문제