<div class="facet-item" v-for="(item, facetItemIndex) in displayFacetItems(facetsIndex)" :key="facetItemIndex">
<facet v-bind:item="item" v-bind:facet="facet"></facet>
</div>
displayFacetItems (facetsIndex, searchTerm) {
if (!searchTerm || searchTerm === '') return this.facets[facetsIndex].facetItems
return this.facets[facetsIndex].facetItems.filter((facetItem) => {
return _.includes(facetItem.name.toLowerCase(), searchTerm.toLowerCase())
})
}
有人可以向我解释为什么v-for在返回过滤对象数组时不会更新:
return this.facets[facetsIndex].facetItems.filter((facetItem) => {
return _.includes(facetItem.name.toLowerCase(), searchTerm.toLowerCase())
})
当我做这样的事情时,我可以让v-for更新:
this.facets[facetsIndex].facetItems = this.facets[facetsIndex].facetItems.filter((facetItem) => {
return _.includes(facetItem.name.toLowerCase(), searchTerm.toLowerCase())
})
但问题是这会改变原始数组,这是我不可能发生的。
非常感谢任何指示,谢谢。