// 省市区过滤
// 空处理, 如果查询条件为空,则下拉框中展示所有数据,此时需要在@change事件中赋值处理:
this.realDataList = this.copyData
然后在过滤方法中:
filterJGMethod(query) {
this.realDataList = this.copyData .filter(item => {
return (item.name.indexOf(query) > -1 ||
item.pinCode.toLowerCase().indexOf(query.toLowerCase()) > -1 ||
item.fivCode.toLowerCase().indexOf(query.toLowerCase()) > -1)
})
}
注意:copyData 是我们额外备份的一份数据,用这个数据来做处理,因为filter过滤后会改变原数据,即,filter会改变原始数组,所以,用这个copyData 最后赋给真正需要渲染的列表realDataList ,这样每次都不会改变渲染的数据
当然也可以用includes, 代码如下:
// 空处理, 如果查询条件为空,则下拉框中展示所有数据,此时需要在@change事件中赋值处理:
this.realDicData = this.mockDicData
然后在过滤方法中:
filterJGMethod(query) {
this.realDicData = this.mockDicData.filter(item => {
return (item.name.includes(query) ||
item.pinCode.toLowerCase().includes(query.toLowerCase()) ||
item.fivCode.toLowerCase().includes(query.toLowerCase()))
})
}
this.dicMockData 是一个后端接口返回的数组,对返回的数组中的name, pinCode, fivCode 字段值进行过滤