业务场景是后端返回数据,前端通过input输入框进行模糊筛选,并将筛选结果展示在下面 例如接口返回的数据为: [{id:1, name:“课程1”} {id:2, name:“课程2”} {id:3, name:“续报”}] input输入框输入: 续报 结果显示为: 续报
input输入框输入: 课程 结果显示为: 课程1 和 课程2
<el-input placeholder="请输入内容" v-model="input" @blur="validateCounts" > <i slot="prefix" class="el-input__icon el-icon-search"></i> </el-input>将目标数据进行渲染
<div class="content-item" v-for="(item, index) in recommendedOrders" :key="index" >{{item.name}}</div>将接口数据进行遍历,对满足筛选条件的数据进行存储,然后在页面进行渲染
validateCounts () { // 输入的内容 let valueInput = this.input || '' // 存储筛选后的结果 const temp = []; // 将接口数据进行遍历 (this.recommendedOrdersBack || []).forEach((item) => { if(item.name.indexOf(valueInput) >= 0){ temp.push(item) } }) // 将筛选结果的数据存储 this.recommendedOrders = temp },