我关注了这个Search demo,并试图将其扩展为仅搜索指定的属性名称。
它在没有属性名称的情况下工作,并返回一个匹配的 id 数组。但是,如果我为属性名称提供任何内容,则搜索将返回一个空数组。我猜我需要一些神奇的属性名称格式。
所以目前我有:
function search() {
var txtArea = document.getElementById("TextAreaResult");
var searchStr = document.getElementById("SearchString").value;
var searchProperties = document.getElementById("SearchProperties").value;
if (searchStr.length == 0) {
txtArea.value = "no search string.";
return;
}
var viewer = viewerApp.getCurrentViewer();
viewer.clearSelection();
if (searchProperties.length == 0)
viewer.search(searchStr, searchCallback, searchErrorCallback);
else {
var searchPropList = searchProperties.split(',');
viewer.search(searchStr, searchCallback, searchErrorCallback, searchPropList);
}
}
其中searchProperties 是用户输入,例如“姓名”,而searchPropList 成为单元素数组。
同一个示例还包括 getProperties(),它为每个属性返回 displayName 和 displayCategory,但我没有看到单独的内部名称。
我是否遗漏了一些明显的东西,或者我需要以某种方式转换“名称”。
或者有人有一个例子可以列出真实姓名而不是 displayName?