2017-11-03 1 views
1

그래서 같은 설정 옵션에서의 minHeight 및 minWidth를 설정과 Ext.window.Window 구성 요소가 있습니다ExtJS 4.0.5에서 설정 옵션 (minWidth)을 변경하는 방법은 무엇입니까?

config: { 
     minWidth: 860, 
     minHeight: 580 
     }, 

지금 내가 그렇게 같은 기능에서 이러한 속성을 변경하려면 :

Ext.getCmp('x').setMinWidth(1280); 

그러나 Setter는 ExtJS 4.0.5에 아직 존재하지 않습니다.

Ext.getCmp('x').config.minWidth = 1280; 

을하지만 그것도 작동하지 않습니다 나는 또한이 일을 시도

(이후 버전에서는 그렇습니다).

미리 감사드립니다.

+0

일부 신짜 피들을 만드십시오. – Tejas

답변

0

ExtJS Window에서 구성 값을 변경 한 후에 updateLayout 메서드를 사용할 수 있습니다.

는 updateLayout가이 구성 요소의 레이아웃을 업데이트합니다. 이 갱신이이 컴퍼넌트 ownerCt에 영향을주는 경우, 그 컴퍼넌트의 updateLayout 메소드가 불려가 대신에 레이아웃을 실행합니다. 그렇지 않으면이 구성 요소 (및 해당 하위 항목) 만 레이아웃됩니다.

여기에서 나는 sencha fiddle 데모를 만들었습니다. 그것은 어떻게 일하고 있는지, 희망이 당신의 문제를 해결하거나 귀하의 요구 사항을 달성하는 데 도움이되기를 보여줍니다.

Ext.create('Ext.window.Window', { 
    title: 'Hello', 
    minWidth: 400, 
    minHeight: 300, 
    layout: 'vbox', 
    items: [{ // Let's put an empty grid in just to illustrate fit layout 
     xtype: 'grid', 
     flex: 1, 
     width: '100%', 
     border: false, 
     store: { 
      fields: ['name', 'email', 'phone'], 
      data: { 
       'items': [{ 
        'name': 'Lisa', 
        "email": "[email protected]", 
        "phone": "555-111-1224" 
       }, { 
        'name': 'Bart', 
        "email": "[email protected]", 
        "phone": "555-222-1234" 
       }, { 
        'name': 'Homer', 
        "email": "[email protected]", 
        "phone": "555-222-1244" 
       }, { 
        'name': 'Marge', 
        "email": "[email protected]", 
        "phone": "555-222-1254" 
       }] 
      }, 
      proxy: { 
       type: 'memory', 
       reader: { 
        type: 'json', 
        root: 'items' 
       } 
      } 
     }, 
     columns: [{ 
      text: 'Name', 
      dataIndex: 'name' 
     }, { 
      text: 'Email', 
      dataIndex: 'email', 
      flex: 1 
     }, { 
      text: 'Phone', 
      dataIndex: 'phone' 
     }], 
    }, { 
     xtype:'button', 
     text: 'Update min height and width with Random Number', 
     height: 40, 
     margin: 10, 
     width:'100%', 
     renderTo: Ext.getBody(), 
     handler: function() { 
      /** 
      * Returns a random integer between min (inclusive) and max (inclusive) 
      * Using Math.round() will give you a non-uniform distribution! 
      */ 
      function getRandomInt(min, max) { 
       return Math.floor(Math.random() * (max - min + 1)) + min; 
      } 

      var num = getRandomInt(300, 600), 
       wind = this.up('window'); 
      wind.minHeight = num; 
      wind.minWidth = num; 
      wind.updateLayout(); 
     } 
    }] 
}).show(); 
+0

이 방법이 효과가있는 것 같습니다. 창의 크기를 조정하는 것은 새로운 minWidth 및 minHeight 치수로 제한되지만, "크기 미리보기"(창 테두리를 잡고 끌 때 볼 수있는 점선)는 이전의 "최소"치수까지 끌 수 있습니다. 왼쪽 마우스 버튼을 놓을 때 창 크기가 새로운 "최소"치수로 스냅됩니다. 문제를 명확하게 설명 할 수 없다면 유감입니다. 그것은 꽤 큰 프로젝트입니다. 그래서 제가 그것을 바이올린으로 분해하는 것이 조금 어렵습니다. –

+0

방금 ​​확인했는데, 그것은 당신의 마약 피우거에서도 발생합니다. minWidth 또는 minHeight를 늘린 후에도 크기 조정 미리보기를 통해 더 이상 끌 수 있습니다. –

+0

미안하지만 실제로 나는 당신을 얻지 못했습니다. –

관련 문제