Javascript 基于对象UI5的键过滤JSON模型
我有一个JSON模型说:-Javascript 基于对象UI5的键过滤JSON模型,javascript,json,sapui5,Javascript,Json,Sapui5,我有一个JSON模型说:- var currency = new sap.ui.model.json.JSONModel(); var currenices = [{"name":"Indian National Rupee", "code":"INR"}, {"name":"Euro", "code":"EUR"}, {"name":"U.S.Dollars", "code":"USD"},
var currency = new sap.ui.model.json.JSONModel();
var currenices = [{"name":"Indian National Rupee", "code":"INR"},
{"name":"Euro", "code":"EUR"},
{"name":"U.S.Dollars", "code":"USD"},
{"name":"Chilean Peso", "code":"CLP"},
{"name":"New Zealand Dollar", "code":"NZD"}]
currency.setData(currenices);
如何将“new sap.ui.model.Filter(sPath、FilterOperator、value1、value2等)”应用于此模型。我想获得给定代码的货币名称。
我知道这可以在数据绑定期间完成,但我想直接对模型执行
我对数组应用了'filter'函数,并且能够过滤给定代码的名称。
是否可以使用model.Filter执行相同的操作
提前感谢,这是不可能的。筛选器已绑定到列表绑定。请看我在这篇关于UI5数据绑定中的过滤函数的回答。你为什么要直接这么做 对模特儿来说 问候,, 艾伦 最新答复: 用于数据绑定的格式化程序函数似乎是您的案例的一种解决方案。由于您可以维护自己的货币映射,因此可以定义格式化程序并执行以下操作:
var currencyMap = {"EUR":"Euro","USD":"U.S.Dollars"} //
currencyFormatter: function(sCurrency) {
return currencyMap[sCurrency];
}
有关UI5格式化程序功能的详细信息,请参阅。不确定您想要什么。。。您想为某个“代码”查找“名称”(例如,类似于sql选择名称,其中代码=“EUR”)还是需要筛选(例如,将列表缩减为单个条目)?我想获得给定代码的名称(与您提到的sql相同)。我有一个curency的值帮助输入框,当用户导航到此页面时,需要预先填充该框。我只从服务中获取货币代码,因此我创建了一个UI模型,将货币代码映射到货币名称,并始终在输入框中显示货币名称。因此,如果我从服务中获取“USD”,我会在输入框中显示美元。目前,我正在使用“foreach”循环数组(货币)并映射代码以获取名称。如果有更好的办法,请告诉我。