我需要在picker中添加我的商店值。在Sencha有可能吗?如果有人知道答案,请帮助我。提前谢谢。
答案 0 :(得分:1)
var picker = Ext.create('Ext.Picker', {
slots: [
{
name : 'limit_speed',
title: 'Speed',
data : [
{text: '50 KB/s', value: 50},
{text: '100 KB/s', value: 100},
{text: '200 KB/s', value: 200},
{text: '300 KB/s', value: 300}
]
}
]
});
Ext.Viewport.add(picker);
picker.show();
您可以使用商店替换数据,请阅读以下链接中提供的文档。
带有几个键值的插槽配置:
name:插槽的名称(在此Ext.picker.Picker中使用getValues时将是键)。
title:此插槽的标题(如果useTitles设置为true)。
data / store:用于此插槽的数据或存储。
http://docs.sencha.com/touch/2.2.0/#!/api/Ext.picker.Picker
从商店设置插槽数据:
slots : [{
store:null,
name:'picker'
}]
答案 1 :(得分:0)
这有点旧,但可能对某人有帮助。
您可以在initialize函数中调用setStore()方法,然后需要将选择器槽上的valueField属性设置为您希望从商店中获得的值。
带槽的选择器示例并初始化:
Ext.define('MyApp.view.JobPicker', {
extend: 'Ext.picker.Picker',
alias: 'widget.jobpicker',
config: {
zIndex: 10,
useTitles: true,
doneButton: {
action: 'donePreviousJobPicker'
},
cancelButton: {
action: 'cancel'
},
slots: [
{
xtype: 'pickerslot',
itemTpl: [
'{jobName}'
],
align: 'center',
name: 'JobSlot',
title: 'Select Previous Job',
valueField: 'indexID'
}
]
},
initialize: function() {
this.callParent();
var jobs = Ext.getStore("JobsPickerStore");
jobs.clearFilter(true);
this.query('pickerslot[name=JobSlot]')[0].setStore(jobs);
}
});