如何在数组中设置Sencha Touch中的选择域?

时间:2015-12-11 14:31:49

标签: javascript extjs sencha-touch

我正在Sencha Touch应用程序中工作,我想推送一个组合框,这是以前从商店中过滤掉的值。

var store = Ext.getStore('Surveys');
var templatesAvailable = [];
store.filterBy(function (record) {
  console.log(record.get('templateName'));
  record.get('templateName'); --> I get value
  templatesAvailable.push(record.get('templateName')); --> into the array
});

下一步是将数组传输到指定的选择器,例如在我的情况下......

this.getTemplateSelector

  {
    xtype       : 'selectfield',
    itemId      : 'selectSurveysTemplates',
    cls         : 'filterbar-selectfieldplus',
    displayField: 'value',  --> here is the secret  ;-)
    valueField  : 'id',
    autoCreate  : true
  },

这种实施的正确方法是什么?我已经测试了不同的选项,但它对我不起作用..

提前谢谢..

1 个答案:

答案 0 :(得分:0)

这个怎么样:

selectfield.setOptions(
    store.getRange().map(function(record) {
        return {
            text:record.get("templateName"),
            value:record.get("templateName")
        };
    })
);

这应该做到以下几点:

Voilà,你应该完成。