【发布时间】:2020-07-18 23:04:23
【问题描述】:
我正在尝试为 Vue 中的数组创建一个反应式过滤器。我的起始数组来自一个返回 this.features(geojson 功能)的 API 调用。我正在对嵌套数组进行过滤。这行得通——但是当我输入一个搜索词然后退格回到一个空字符串并输入另一个字符串时,我没有过滤原始数组,但似乎正在过滤已经过滤的数组。如何从 API 调用中再次过滤原始数组?
计算属性:
filteredFeatures() {
if (this.searchTerm == '') {
return this.features
}
// filter on nested array
let filtered = this.features.filter(feature => {
feature.properties.site_observations = feature.properties.site_observations.filter(
el => JSON.stringify(el).match(this.searchTerm, 'i')
)
return feature.properties.site_observations.length > 0
})
return filtered
}
我查看了Vue filtering objects property,但我无法使该代码工作(它使用Object.assign())。感谢您的任何想法。
【问题讨论】:
-
我看到了,但我认为问题出在:feature.properties.site_observations = feature.properties.site_observations.filter( el => JSON.stringify(el).match(this .searchTerm, 'i')