2014-09-02 3 views
0

콤보 요소가 표시되지 않습니다.ExtJS 콤보 요소가 표시되지 않습니다.

http://skirtlesden.com/articles/extjs-comboboxes-part-2

items: [ 
      { 
       xtype: 'combobox',  
       store: { 
        fields: ['name'], 
        data: [ 
         {name: 'Red'}, 
         {name: 'Yellow'}, 
         {name: 'Green'} 
        ]}, 
       maxLength: 64 

      } 
     ] 

을하지만 내가 보는 모든 요소가 렌더링 해야하는 하나 개의 픽셀이 높은 공간 비어 :이 블로그에 설명 된대로 나는 인라인 저장소를 사용하고 있습니다.

바이올린은 여기에 있습니다 : 당신은 "그 블로그에 설명 된대로 인라인 저장"을 사용하지 않는

http://jsfiddle.net/sr61tpmd/4/

답변

1

하는 콤보 설정에 displayField:'name' 추가, 그것은 ... 다음과 같아야합니다

{ 
    xtype: 'combobox',  
    displayField:'name', //the name of the field you want to display on the combo 
    store: { 
     fields: ['name'], 
     data: [ 
      {name: 'Red'}, 
      {name: 'Yellow'}, 
      {name: 'Green'} 
     ]}, 
    maxLength: 64 
} 

당신은 너무 valueField을 설정할 수 있습니다,하지만 당신

0

.

items: [ 
     { 
      xtype: 'combobox',  
      store: [ 
        'Red', 
        'Yellow', 
        'Green' 
       ], 
      maxLength: 64 

     } 
    ] 

또는 다음과 같이 :

에 "그 블로그에 설명 된대로 인라인 상점은"다음과 같습니다

items: [ 
     { 
      xtype: 'combobox',  
      store: Ext.create('Ext.data.Store', { 
       fields: ['name'], 
       data: [ 
        {name: 'Red'}, 
        {name: 'Yellow'}, 
        {name: 'Green'} ] 
      }), 
      maxLength: 64 

     } 
    ] 

하지만 ExtJS로 개발자가 충분히 때 생각하지 않았다라는 것을 인정해야 그들은 당신이 시도한 선언의 종류를 허용하지 않기로 결정했습니다. 그러나 이것을 허용하기 위해 저장소는 xtype 또는 유사한 구성 옵션을 필요로합니다. 사용자가 정의한대로 Ajax Store, JsonP 저장소, Direct Store, Store 중 어떤 종류의 저장소를 선택했는지 분명하지 않기 때문입니다.

하지만 이러한 구성 옵션은 Ext에서 사용할 수 없습니다. 따라서 상점은 작성되거나 정의되어야합니다.

+0

그래 내가 알고 떠날 수 있습니다. 그것의 인라인 아닙니다. –

+0

두 번째 부분을 보면 첫 번째 코드 스 니펫을 –

관련 문제