我想通过输入名字的第一个字符来实现我们可以搜索用户名字的功能。我需要使用Javascript来创建自定义html。
之前是否有人这样做可以帮助我?
答案 0 :(得分:1)
在this repository的示例中,用户组合框Rally.ui.combobox.UserComboBox根据前几个字符动态搜索匹配值。 此默认功能在输入第二个字符后显示预期值。
var u = Ext.create('Rally.ui.combobox.UserComboBox',{
id: 'u',
project: project,
fieldLabel: 'select user',
listeners:{
ready: function(combobox){
this._onUserSelected(combobox.getRecord());
},
select: function(combobox){
this._onUserSelected(combobox.getRecord());
},
scope: this
}
});
this.add(u);
},
如果要加载所有用户(不要将选择限制为特定项目的团队成员和编辑者),可以使用Rally.ui.combobox.Combobox代替Rally.ui.combobox.UserComboBox,并将模型设置为{ {1}}。但要解决仅当前用户填充组合框的默认行为,请使用可在所有用户中过滤的过滤器。在下面的示例中,使用了User
。这个组合框将由所有用户独立于项目选择器填充。此片段不是上述自定义应用示例的一部分:
ObjectID > 0
答案 1 :(得分:0)
您需要使用Web Services API。我就是这样做的......
API不允许您在过滤器中指定字符的位置,但您可以要求它存在于名称中的某个位置,该过滤器将如下所示:
[{
property : "FirstName",
operator : "contains",
value : "A" //Whatever letter you're looking to start with
}]
现在,一旦加载了商店,使用第二个功能将记录过滤到只有开始的角色:
store.filterBy(function(item) {
return item.get("FirstName")[0] === "A";
});
希望这会有所帮助:)