VUE中搜索栏输入字符,实时更新输出的数据
<template>
<div>
<!-- 引入了vant搜索插件 -->
<form action="/">
<van-search
v-model="value"
show-action
placeholder="请输入搜索关键词"
/>
</form>
<!-- 将computed计算属性的数据进行循环,输入文字时,实时将数据更新到页面 -->
<div v-for="item in filiter"
:key="item.cinemaId">
<p>{{item.name}}</p>
</div>
</div>
</template>
<script>
import Vue from 'vue';
import { Search } from 'vant';
import { Toast } from 'vant';
Vue.use(Search);
import {mapState} from 'vuex';
import {instance1} from "@/utils/http.js"
export default {
data () {
return {
value:'',
data:[]
}
},
methods: {
},
computed:{
...mapState("city",["cityId"]),
filiter(){
return this.data.filter(item=>{
return item.name.includes(this.value) || item.name.toUpperCase().includes(this.value.toUpperCase())
})
}
},
created(){
instance1.get(`/gateway?cityId=${this.cityId}&ticketFlag=1&k=8091523`,{
headers:{
'X-Host': 'mall.film-ticket.cinema.list'
}
}).then(res=>{
this.data = res.data.data.cinemas
console.log(this.data)
})
}
}
</script>
<style lang="scss" scoped>
</style>