关键代码
//搜索框一输入就进行相关的匹配搜索
searchDepartment() {
//当搜索框中存在值
if(this.department) {
this.departments = this.departmentsCopy.filter(item => {
if(!!~item.organizenm.indexOf(this.department) || !!~item.organizenm.toUpperCase().indexOf(this.department.toUpperCase())) {
return true
}
})
} else {
this.departments = this.departmentsCopy
}
}
代码优化
//搜索框一输入就进行相关的匹配搜索
searchDepartment() {
//当搜索框中存在值
if(this.department) {
this.departments = this.departmentsCopy.filter(item =>
return item.organizenm.indexOf(this.department) > -1 || item.organizenm.toUpperCase().indexOf(this.department.toUpperCase() > -1
})
} else {
this.departments = this.departmentsCopy
}
}
注意点
相关的数据应该先进行拷贝,且相关的拷贝不能放置在该函数中。
这段代码展示了如何实现搜索框实时匹配功能。当输入值存在时,它使用filter方法筛选数组,通过比较输入值与数组元素的organizenm属性是否包含匹配项,优化后的代码更加简洁。注意数据需先做拷贝处理,且拷贝不应在函数内部完成。
1万+

被折叠的 条评论
为什么被折叠?



