Javascript 如何在Rally应用程序中将ComboBox添加到设置装备菜单
目前我正在开发一个显示缺陷图表的应用程序。图表将通过一系列复选框进行过滤,用户可以根据自己的需要更改这些复选框。这些复选框位于应用程序的齿轮菜单中的“设置”下。在App.js中,我有一个如下函数:Javascript 如何在Rally应用程序中将ComboBox添加到设置装备菜单,javascript,combobox,settings,rally,Javascript,Combobox,Settings,Rally,目前我正在开发一个显示缺陷图表的应用程序。图表将通过一系列复选框进行过滤,用户可以根据自己的需要更改这些复选框。这些复选框位于应用程序的齿轮菜单中的“设置”下。在App.js中,我有一个如下函数: getSettingsFields: function() { return [ { xtype: 'fieldcontainer', fieldLabel: 'States', defaultType:
getSettingsFields: function() {
return [
{
xtype: 'fieldcontainer',
fieldLabel: 'States',
defaultType: 'checkboxfield',
items: [
{...}
...
]
}
];
}
到目前为止,这个函数工作得很好,显示了我在代码中遗漏的项目[它们对问题并不重要]。问题是,现在我想在同一个设置页面中添加一个带有自定义值的组合框。框中应包含文本[天、周、月、季度],以进一步过滤要在图表中显示的缺陷。我尝试将getSettingsFields函数更改为以下内容:
getSettingsFields: function() {
var myStore = Ext.create('Ext.data.Store', {
fields: ['value', 'range'],
data: [
{'value':'day', 'range':'Days'}, //test data for ComboBox
{'value':'week', 'range':'Weeks'}
]
});
return [
{
xtype: 'combobox',
fieldLabel: 'Date Range',
store: myStore,
displayField: 'range',
valueField: 'value'
},
{
xtype: 'fieldcontainer',
fieldLabel: 'States',
defaultType: 'checkboxfield',
items: [
{...}
...
]
}
];
}
现在,当我运行应用程序并单击“设置”按钮时,所有内容都消失了,甚至复选框字段也消失了。任何解释为什么这不起作用都会很有帮助 基本上你做的每件事都是正确的-你只是偶然发现了一个非常微妙的错误。潜在的问题是,由于包含存储,当设置面板尝试克隆设置字段配置数组时,会出现无限递归。以下代码将解决此问题:
{
xtype: 'rallycombobox',
storeConfig: {
fields: ['value', 'range'],
data: [
{'value':'day', 'range':'Days'}, //test data for ComboBox
{'value':'week', 'range':'Weeks'}
]
},
storeType: 'Ext.data.Store',
fieldLabel: 'Date Range',
displayField: 'range',
valueField: 'value'
}
它基本上与您所拥有的相同,但使用了rallycombobox,并传入storeType和storeConfig来解决存储克隆问题。您基本上都做得很正确-您刚刚偶然发现了一个非常微妙的错误。潜在的问题是,由于包含存储,当设置面板尝试克隆设置字段配置数组时,会出现无限递归。以下代码将解决此问题:
{
xtype: 'rallycombobox',
storeConfig: {
fields: ['value', 'range'],
data: [
{'value':'day', 'range':'Days'}, //test data for ComboBox
{'value':'week', 'range':'Weeks'}
]
},
storeType: 'Ext.data.Store',
fieldLabel: 'Date Range',
displayField: 'range',
valueField: 'value'
}
它基本上与您所拥有的相同,但使用了rallycombobox,并传入storeType和storeConfig以绕过商店克隆问题。此外,此错误在即将发布的2.0 GA版本的App SDK中已修复。此外,此错误在即将发布的2.0 GA版本的App SDK中已修复。