我有以下数组:
[{"id":1,"vak":{"naam":"Wiskunde"},"onderwerp":"Dit is het onderwerp van de les ..."},
{"id":2,"vak":{"naam":"Aardrijkskunde"},"onderwerp":"Bli Bla, Dit is het onderwerp van de les ..."},
{"id":3,"vak":{"naam":"Biologie"},"onderwerp":"Dit is het onderwerp van de les ..."},
{"id":4,"vak":{"naam":"Wizkunde"},"onderwerp":"Dit is het onderwerp van de les ..."}]
我想实现一个搜索“naam”的filteringSelect。 当我搜索“onderwerp”时,我只是将searchAttr设置为:
this.lessonsSearchBox.set("searchAttr", "onderwerp");
但是如果我想搜索“naam”,我不知道如何设置我的searchAttr,因为“naam”是“vak”的属性。
我该怎么做?
答案 0 :(得分:1)
据我所知(并查看源代码),你不能。它只是使用该属性作为属性名称。
我能想出的最佳解决方案是映射数组,例如执行以下操作:
var newRoosterItems = array.map(roosterItems, function(item) {
var newItem = lang.clone(item);
lang.mixin(newItem, {
vakNaam: item.vak.naam
});
return newItem;
});
这会将您的数组映射到一个新的项目数组,每个项目都有一个名为vakNaam
的属性,其中包含naam
的{{1}}属性。
可以找到一个示例JSFiddle here。
如果您不需要原始数据,您还可以选择转换现有数据,方法是:
vak