Sencha Touch2中selectfield组件如何接收非标准options数据

问题:selectfield组件默认接收的options数据形如:

    var selectOptionData = [
    {text: 'First Option',  value: 'first'},
    {text: 'Second Option', value: 'second'},
    {text: 'Third Option',  value: 'third'},
    ]; 

而我从后台服务接到的数据可能形如:

var  jsonData = [
    {text1: 'First Option',  value1: 'first',  sex: 'm'},
    {text1: 'Second Option', value1: 'second', sex: 'm'},
    {text1: 'Third Option',  value1: 'third',  sex: 'm'},
   ];

其差别就是键值对数量不同(前者为两对,后者为三对),键值名称不同(前者为text,后者为text1);

解决:

通过设置selectfield组件的两个属性:

displayField:'text1',
valueField:'value1',

这样我们在controller里为selectfield赋值时就可以直接:

   Ext.getCmp('Your Selectfield ID').setOptions(jsonData);//select组件自动匹配对应数据

作者: 风风清清扬扬
原文: http://blog.csdn.net/xbblog/article/details/7637399