我可以使用setOptions方法成功指定select字段的选项,如下所示:
setOptions(
[ {text: 'First Option', value: 'first'},
{text: 'Second Option', value: 'second'},
{text: 'Third Option', value: 'third'}
])
但是,我宁愿使用setOptions来处理加载的数据存储,而不是像上面那样对文本/值数组进行硬编码。
商店有一个项目类型'车辆',加载它的服务器的json响应是{'vehicle':'mercedes'},{'vehicle''jaguar'}的形式(忽略,如果我让json语法错误,我从内存中输入这个。最后,我可以将value字段与setOptions的文本字段相同。
然而,我很难过如何做到这一点。非常感谢能帮助我的人。
答案 0 :(得分:1)
使用此:
{ id: 'theSelect',
name: 'vechicleSelect',
xtype: 'selectfield',
store: storeObejct,
displayField: 'vehicle',
valueField: 'vehicle'
}
在此处阅读整个API Sencha Touch selectfield
答案 1 :(得分:1)
您可以遍历商店并将数据推送到数组中,然后使用数组作为setOptions的参数。
答案 2 :(得分:1)
添加到warmachine的答案...... 在您看来:
{
xtype: 'selectfield',
id: 'NameId',
label: 'Name',
labelWrap: true,
placeHolder: 'name'
},
视图中的控制器或初始化功能:
initialize: function(){
var me = this;
me.callParent(arguments);
var sto= Ext.getStore('Persons');
sto.load();
var options = [];
sto.each(function(record){
options.push({
value: record.get('displayname'),
text: record.get('displayname')
});
});
var box = Ext.ComponentQuery.query('#NameId')[0];
box.setOptions(options);
},