我希望进行过滤的目的是将RegExp放在javascript变量上的javascript模板内,此处是过滤器(无RegExp):
sValue = oEvent.target.value,
aVisibleItems1 = this.filterItems({
property: "text",
value: sValue
});
这对应于一个组合框(包括搜索在内被覆盖),此过滤器可用于查找但不用于包含,仅用于与行首的完全匹配,然后我想使用RegEx然后尝试了:
sValue = oEvent.target.value,
aVisibleItems1 = this.filterItems({
property: "text",
value: /sValue/i
});
它没有用(我想将sValue视为'sValue'),然后我尝试了:
sValue = oEvent.target.value,
aVisibleItems1 = this.filterItems({
property: "text",
value: new RegExp(sValue, "i")
});
也不起作用(我想是因为format吗?)。那么我该怎么做类似的事情呢?预先谢谢你:)
PS:出于相同的目的,我也尝试过:
sValue = oEvent.target.value,
oItem=this.getItems()
aVisibleItems1 = this.setFilterFunction(function(sValue, oItem) {
return this.oItem.getText().match(new RegExp(sValue, "i"))
});
和
sValue = oEvent.target.value,
aVisibleItems1 = this.setFilterFunction(searchTextContain(this.getItems(), sValue));
function searchTextContain(items, sValueToSearch) {
var sResearch = [];
for (var item of items) {
if (item.getText().match(new RegExp(sValueToSearch, "i")) != null) {
sResearch.push(item);
}
}
return sResearch;
}
它也没有用,如果有的话,我会更喜欢使用RegExp进行2次尝试的解决方案,因为我必须使用this.filterItems在UI中对listItem进行过滤,但是如果您有其他解决方案,我也将很高兴,目标是获得过滤后的值
我找到了一个解决方案,因为我的问题是关于filterItems的,我覆盖了此函数,我创建了一个控件ComboBoxContain,它重写ComboBox filterItems如下: