Sencha Touch:如何在商店更新后刷新选择字段

时间:2014-03-11 09:24:43

标签: sencha-touch-2

我想让Sench selectfield动态更新。

以下是selectfield的代码

items: [
        {
             xtype : 'container',
             flex: 1,
             id: 'introtext',
             html: '<p>Welcome your items above</p>'
        },
        {
             xtype : 'selectfield',
             store : companiesStore2,
             name : 'companies',
             id : 'companiesSelect',
                itemId: 'companySelect',
                valueField : 'companyname',
                displayField : 'companyname',
                style: 'overflow:hidden',
                listeners: {
                    change: function(field,value) {
                        getStats(value)
                    }
                }   
          },.......

加载页面时,商店只有一个值。登录后,会向商店添加更多值。 console.log(companiesStore2)确认新值确实已添加到商店中。但是,它们没有显示在我的选择字段中。

我已尝试过companiesStore2.refresh(),但错误消息显示该对象没有方法刷新。

使用sencha touch 2.3

2 个答案:

答案 0 :(得分:1)

您尚未发布任何代码来展示商店如何获取新数据。

要尝试的两件事:

  1. 制作组合queryMode: 'local'

  2. 当商店发生变化时(添加一个监听器,例如companiesStore2.on('datachanged', ...)?),请执行以下操作:comboBox.bindStore(companiesStore2)

答案 1 :(得分:0)

我找到了一个似乎对我有用的答案。 数据更改后,我使用以下方法将商店重新分配到选择字段:

Ext.getCmp('companiesSelect').setStore(companiesStore2)

这似乎解决了我遇到的问题。