uniapp 使用filter不刷新
时间: 2023-08-02 15:12:19 浏览: 191
在使用 `filter` 过滤数据时,如果你发现数据没有刷新,可能是因为 `filter` 不会改变原始数据,而是返回一个新的过滤后的数组。因此,你需要在模板中使用一个新的数组来渲染过滤后的数据。
示例代码:
```html
<!-- 假设原始数据为 list,使用 filter 过滤后的数据为 filteredList -->
<template>
<ul>
<li v-for="item in filteredList" :key="item.id">{{ item.name }}</li>
</ul>
</template>
<script>
export default {
data() {
return {
list: [
{ id: 1, name: 'apple' },
{ id: 2, name: 'banana' },
{ id: 3, name: 'orange' }
],
filteredList: []
}
},
mounted() {
this.filteredList = this.list.filter(item => item.name.includes('a'))
}
}
</script>
```
在上面的示例中,我们在 `mounted` 钩子函数中使用 `filter` 过滤原始数据,并将过滤后的结果赋值给 `filteredList`。在模板中使用 `filteredList` 渲染过滤后的数据。这样,当数据更新时,过滤也会自动更新。
阅读全文