gpt4 book ai didi

javascript - 如何在组合框中获取自定义数据

转载 作者:行者123 更新时间:2023-11-30 06:32:34 25 4
gpt4 key购买 nike

我正在尝试使用项目名称列表填充组合框。我能够成功获取所有项目名称,但我似乎无法弄清楚如何将它们作为自定义数据集添加到组合框中。我研究过使用其他类型的组合框(迭代、投资组合、属性等),但它们似乎没有将自定义数据添加到下拉列表的功能(除非我弄错了)。这是我用于组合框的代码:

this.down = this.add({
xtype: 'rallycombobox',
storeConfig: [{
model: 'Project',
autoLoad: true,
fieldLabel: 'Projects:',
data: this.project_names,
width: field_width
}]
});

尝试使用此代码运行时,我收到“未捕获的类型错误:无法调用未定义的方法‘getProxy’。我无法弄清楚如何让它工作。我还尝试了以下方法:

this.down = this.add({
xtype: 'rallycombobox',
model: 'Project',
fieldLabel: 'Projects:',
data: this.project_names,
width: field_width
});

我仍然遇到同样的错误。谁能帮我解决我做错的事?谢谢!

最佳答案

如果您手头有一个项目列表,您希望在 ComboBox 中使用它,而不是 Rally ComboBox,我建议您只使用 Ext ComboBox。 Rally ComboBox 旨在通过查询来自 rally 的数据来填充其存储 - 因此当您尝试将 Rally WSAPI 存储与本地数据混合和匹配时,您会看到 getProxy 错误。

设置可能如下所示。

// The data store containing the list of Projects
var projectStore = Ext.create('Ext.data.Store', {
fields: ['_ref', 'Name'],
data : [
{"_ref": "/project/12345678910", "Name": "Project 1"},
{"_ref": "/project/12345678911", "Name": "Project 2"},
{"_ref": "/project/12345678912", "Name": "Project 3"}
//...
]
});

// Create the combo box, attached to the Projects data store
this.projectSelector = Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose Project',
store: projectStore,
queryMode: 'local',
displayField: 'Name',
valueField: '_ref',
listeners:{
scope: this,
select: function(combobox) {
// Do stuff here
console.log('Ref of Project Selected: ' + this.projectSelector.getValue());

}
}
});

this.down('#projectSelectorContainer').add(this.projectSelector);

希望这对您有所帮助。如果有后续问题,请告诉我们。

关于javascript - 如何在组合框中获取自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16677905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com