下面的过滤器函数计算search input field的输入,使其仅显示元素,使用类似于search input的title
const filteredNews = computed(() => {
if (state.filter) {
return props.news.filter(item => {
return state.filter.toLowerCase().split(" ").every(v => item.title.toLowerCase().includes(v))
});
} else {
return props.news;
}
})search input field
<input class="filter-input" type="search" placeholder="Suche" v-model="state.filter">然后在一个v-for循环中显示这些元素:
<div class="news-gallery" v-for="(card, key) in filteredNews" :key=key>
// items...
</div>现在,我不仅要过滤title,还要过滤location。为了实现这一点,我需要如何更改filter function呢?
类似于:
const filteredNews = computed(() => {
if (state.filter) {
return props.news.filter(item => {
return state.filter.toLowerCase().split(" ").every(v => {
item.title.toLowerCase().includes(v),
item.location.toLowerCase().includes(v)
})
});
} else {
return props.news;
}
})发布于 2022-08-01 04:33:47
我找到了一个很简单的方法。只要改变:
item.title.toLowerCase().includes(v)至:
item.title.toLowerCase().includes(v) || item.location.toLowerCase().includes(v))https://stackoverflow.com/questions/73176834
复制相似问题