我有一个配置为在当前范围内显示Rollups的rallycombobox:
App.down('#associateWith').add({
xtype : 'rallycombobox',
fieldLabel : 'Dropdown',
id : 'association',
allowNoEntry : true,
storeConfig : {
autoLoad : true,
model : 'PortfolioItem/Rollup'
}
});
这个应用程序还有一个addnew组件,允许用户添加一个新的PortfolioItem / Rollup - 如果他们添加一个新组件,那么我想刷新这个组合框以将该汇总作为一个选项。我无法找到在API文档中刷新组合框的方法,所以我正在做混乱的版本 - 这涉及经常创建和销毁组合框。
我尝试过:
setStoreConfig(...);
但这似乎根本没有刷新数据。如何在不破坏和重新创建的情况下实现这一目标?
答案 0 :(得分:4)
最简单的方法是挂钩AddNew的create
事件。它将为您提供新创建的Rollup的记录,然后您可以将其放在ComboBox的商店中
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
launch: function() {
this.combobox = this.add({
xtype: 'rallycombobox',
allowNoEntry: true,
storeConfig: {
autoLoad: true,
model: 'PorfolioItem/Rollup'
}
});
this.add({
xtype: 'rallyaddnew',
recordTypes: ['PortfolioItem/Rollup'],
listeners: {
create: this._onCreate,
scope: this
}
});
},
_onCreate: function(addNew, record) {
this.combobox.getStore().add(record);
}
});