uniapp 小程序使用filter也重新赋值了还是不刷新
时间: 2023-08-01 14:15:22 浏览: 89
在uniapp小程序中,使用filter对数据进行过滤后,如果需要刷新页面显示过滤后的数据,可以通过以下两种方式实现:
1.重新赋值:将过滤后的数据重新赋值给原始数据,这样页面就可以显示过滤后的数据了。
示例代码:
```
<template>
<view>
<input v-model="keyword" placeholder="请输入关键字" />
<view v-for="(item, index) in filterList" :key="index">
{{ item }}
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: ["苹果", "香蕉", "橘子"],
keyword: "",
};
},
computed: {
filterList() {
return this.list.filter((item) =>
item.toLowerCase().includes(this.keyword.toLowerCase())
);
},
},
};
</script>
```
2.强制刷新:可以通过给组件添加一个key值来强制刷新组件,这样页面也会显示过滤后的数据。
示例代码:
```
<template>
<view :key="filterList">
<input v-model="keyword" placeholder="请输入关键字" />
<view v-for="(item, index) in filterList" :key="index">
{{ item }}
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: ["苹果", "香蕉", "橘子"],
keyword: "",
};
},
computed: {
filterList() {
return this.list.filter((item) =>
item.toLowerCase().includes(this.keyword.toLowerCase())
);
},
},
};
</script>
```
以上两种方法都可以实现在uniapp小程序中使用filter后刷新页面显示过滤后的数据。
阅读全文