2012-07-10 5 views
1

setData 메소드를 사용하여 Sencha Touch 선택기 데이터 필드 (게시물 마지막 부분의 코드 참조)를 업데이트 할 수없는 이유를 알아 내려고했습니다. 내 데이터를 정의한 slotsdata라는 배열을 만들었습니다. 데이터는 다음과 같이 정확히 볼 : 나는 사항 setData() picker.setData (slotsdata)를 사용하여 데이터를 설정하려고Sencha Touch Ext.picker setData가 올바르게 작동하지 않습니다.

{text: '50 KB/s', value: 50}, 
     {text: '100 KB/s', value: 100}, 
     {text: '200 KB/s', value: 200}, 
     {text: '300 KB/s', value: 300} 
  1. ; 오류가 표시되지 않지만 선택 도구가 데이터를 표시하지 않습니다.

  2. 이 같은 데이터를 업데이트하려고

    는 :
    slots: [
    {
    name : 'picker_slot1',
    title: 'slot1',
    data: [slotsdata]
    }
    ]
    이 작동하지 않습니다. 콘솔에 오류가 없습니다. 선택기가 비어 있습니다. 내가 업데이트 할 수 있습니다

  3. 있는 유일한 방법은이 구문을 사용하고 있습니다 :

    slots: [
    {
    name : 'picker_slot1',
    title: 'slot1',
    data: slotsdata
    }
    ]

싶습니다이 방법 # 1을 사용하여 내 피커 데이터를 업데이트 할 수 있도록. 누구든지이 문제를 도와 줄 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

myFunction: function(){ 
var data = this.getData(); 
var slotsdata = []; 
var pickerData = data.dosage.split(','); 
for(var i = 0; i < pickerData.length; i++){ 
    slotsdata.push({text: pickerData[i], value: pickerData[i]}) 
} 
var picker = Ext.create('Ext.Picker', { 
    slots: [ 
     { 
      name : 'picker_slot1', 
      title: 'slot1', 
      data: slotsdata 
     } 
    ] 
}); 
//this does not work 
//picker.setData(slotsdata); 

} 당신은 같은 선택기 클래스의 setSlots() 방법을 사용할 수 있습니다

답변

1

:

picker.setSlots({ 
    name: 'limit_speed', 
    title: 'Speed', 
    data: [ 
     { text: '50 KB/s', value: 50 }, 
     { text: '100 KB/s', value: 100 } 
    ] 
}); 

코드입니다
관련 문제