회원을위한 간단한 필터 "검색"기능을 작성 중입니다. 아직 난 그냥 설정 한 필터링이되지 않았기 때문에요소가 아우렐 리아 클래스의 모든 배열에서 제거됩니다.
getMembers() {
return this.userService.getMembers(this.authUser.selectedCompany).then(data => {
if (data.statusCode === 200) {
this.members = data.content.users.sort(function (a, b) {
if (a.firstName < b.firstName) return -1;
if (a.firstName > b.firstName) return 1;
return 0;
});
this.filteredMembers = this.members;
}
}).catch(err => {
console.log('error getting members:', err.response);
});
}
: 나는 하나가 다른 모든 구성원의 목록 회원의 필터링 된 목록이 될 것이다 filteredMembers
입니다 members
은 2 개 배열 속성을 가지고있다 filteredMembers
은 members
과 같습니다. 여태까지는 그런대로 잘됐다. 이제
나는 회원이 내가 검색 상자에 입력 한 내용에 따라 필터링하는 keyUp 이벤트와 입력 검색 할 수 있습니다
<input type="search" value.bind="searchQuery" keyup.delegate="filterMembers()">
과 기능 :
filterMembers() {
if(!this.searchQuery) {
this.filteredMembers = this.members;
return;
}
let filteredCount = this.filteredMembers.length;
for (var i = 0; i < filteredCount; i++) {
if (this.filteredMembers[i].lastName.toLowerCase().indexOf(this.searchQuery.toLowerCase()) == -1) {
this.filteredMembers.splice(i, 1);
}
}
}
그래서 당신이 볼 수 함수에서 검색 상자의 사용자 유형이 회원의 성 안에서 발견되지 않는 경우 확인한 다음 filteredMembers
배열에서 멤버를 제거합니다. 검색어가 비어 있으면 다시 filteredMembers
을 members
으로 만듭니다. 여기
Aurelia
에서 버그가 수 수있는 몇 가지 이유로 실행 해요 또는 인간의 오류가있을 수 있습니다하지만 난
filteredMembers
에서 요소를 제거 할 때 그것은 또한
members
배열에서 제거하는 문제입니다. 나는 그 을
members
과 같게 설정하지 않고 모든 종류의 변형을 시도했다.
getMembers()
기능.
당신은 그것에 나를 이길. 내 휴대폰으로 입력하는 것이 너무 느립니다. p – mgiesa
@mgiesa 필터 대안이 마음에 들지만 말을해야합니다. – Rodrigo