我想在设置displayValue后更新FilteringSelect中的下拉列表。 我知道FilteringSelect在设置displayValue之后从结果中选择了第一个元素,但是当我打开下拉列表(openDropDown()函数)时,它有旧的过滤结果。
答案 0 :(得分:2)
那是因为显示值和下拉列表之间存在差异。 FilteringSelect
小部件使用商店来填充下拉列表。如果您希望更改下拉列表,则还必须更改商店中的对象。
根据您的Dojo版本,您必须使用 dojo / store 或 dojo / data API。对于 dojo / stor API(Dojo的新版本),您必须执行以下操作:
var myItem = filteringSelect.item;
myItem.name = "Testing 1 2 3";
myStore.put(filteringSelect.item);
根据ID,它将更新该对象。
可以找到一个示例JSFiddle here。当您单击“测试”按钮时,它将替换displayedValue
和商店本身。
<强>更新强>: 我注意到了你的答案(你应该对我发表评论,因为现在我的收件箱里没有收到任何通知);
如果我理解正确,您希望以编程方式输入值并打开带有突出显示结果的下拉列表。嗯,这可以用:
filteringSelect._startSearch("C");
这是AutoCompleterMixin
提供的功能。您可以在我更新的JSFiddle上看到结果。