如何在Sitecore SPEAK UI中设置ComboBox组件的选定项?
我的ComboBox由QueryDataSource组件填充,该组件正在查看我的核心DB中的项目文件夹。
我可以使用以下代码检索当前选定的值(即文本,而不是ID):
var value = this.MyComboBoxId.viewModel.selectedItemId();
并且我希望能够使用以下方法设置选定的值:
var value = "SomeValueWhichExistsInTheList";
this.MyComboBoxId.viewModel.selectedItemId(value);
但这似乎不起作用。这里的文档提到使用
rebind(items, selectedItem, selectedValue, displayFieldName, valueFieldName)
但我不想重新填充它,只需更改选定的项目即可。我的代码在initialize
模型的方法之内。
编辑
我发现,如果ComboBox在呈现属性中未设置DisplayFieldName
或未ValueFieldName
设置值,则必须将值设置为适当的itemId。DisplayFieldName
和/或ValueFieldName
应设置为您创建的字段的名称-您无法绑定到项目名称。
在该initialize
方法中,使用以下代码设置值:
app.yourQueryDataSource.on("change:hasItems", function () {
app.yourComboBox.set("selectedValue", yourValue);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句