我正在尝试创建一个列出工作区用户的rallymultiobjectpicker。但是,它似乎没有为displayField加载任何值,无论它在listCfg中设置的是什么。文档指定默认为“名称”,我已切换到“FirstName”,“ObjectID”,“DisplayName”,“_ refoName”等。似乎没有反映任何更改,因为应该包含的div displayField的值保持为空。我检查了对象,这里是一个典型的返回示例(生成所有空字段而不是修改):
->Object
CreationDate: null
Disabled: false
DisplayName: ""
EmailAddress: ""
FirstName: ""
LastName: ""
LastPasswordUpdateDate: null
MiddleName: ""
ObjectID: 1234567890
OnpremLdapUsername: ""
RevisionHistory: ""
Role: ""
ShortDisplayName: ""
Subscription: ""
TeamMemberships: ""
UserName: ""
UserPermissions: ""
UserProfile: ""
_objectVersion: "12"
_p: "2"
_ref: "https://rally1.rallydev.com/slm/webservice/1.33/user/1234567890.js"
_refObjectName: "John D"
_type: "user"
creatable: false
deletable: false
groupSelected: "Available"
matchedText: undefined
updatable: true
__proto__: Object
以下是使用代码的示例:
Ext.widget('rallymultiobjectpicker', {
modelType: 'user',
fieldLabel: 'Owners',
listCfg: {displayField: "DisplayName", autoScroll: true},
stateful: false,
labelWidth: 50,
});
编辑:使用与下面答案中列出的配置类似的配置,此问题再次出现在2.0p3中。尽管在listCfg中指定了displayField,但没有显示选项文本。我还应该注意,过滤器/ customQuery似乎完全被破坏了,因为它们不能用于限制我在另一个集成多个注入器中的数据集。
答案 0 :(得分:1)
您必须指定从服务器获取displayField的数据存储配置。您必须指定整个商店配置,而不仅仅是fetch参数。您还必须为filterFieldName传递配置选项,以使自动完成功能正常工作。示例配置如下:
Ext.widget('rallymultiobjectpicker', {
modelType: 'user',
fieldLabel: 'Owners',
filterFieldName: 'DisplayName',
storeCfg: {
autoLoad: false,
fetch: 'DisplayName',
pageSize: 200,
sorters: [
{
property: 'DisplayName',
direction: 'ASC'
}
],
remoteGroup: false,
remoteSort: false,
remoteFilter: false,
limit: Infinity
},
listCfg: {
displayField: 'DisplayName'
},
stateful: false,
labelWidth: 50
});