如何将RegExp放入具有JavaScript变量的JavaScript对象常量又称为对象初始化程序中

问题描述 投票:0回答:1

我希望进行过滤的目的是将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进行过滤,但是如果您有其他解决方案,我也将很高兴,目标是获得过滤后的值

javascript regex filter sapui5
1个回答
0
投票

我找到了一个解决方案,因为我的问题是关于filterItems的,我覆盖了此函数,我创建了一个控件ComboBoxContain,它重写ComboBox filterItems如下:

© www.soinside.com 2019 - 2024. All rights reserved.