Как отфильтровать содержимое при поиске независимо от регистра с помощью angular2 - PullRequest
0 голосов
/ 15 апреля 2019

Я могу искать содержимое на основе ключа. Но у родителя есть дочерние компоненты, например: Я пытаюсь отфильтровать содержимое с помощью "c", если я это сделаю, я получу родителя и 1 дочерний элемент, но здесь у меня есть 2 дочерних компонента: один с "Check", а другой с "check_test". Когда я пытаюсь отфильтровать по алфавиту "c", я должен получить оба дочерних компонента независимо от регистра.

TS:

searchFacility(search) {
    this.sLetter = search;
    if (search) {
      this.dtFacilities.expandedRows = [];
      setTimeout(() => {
        this.dtFacilities.expandedRows = this.dtFacilities.value;
        this.dtFacilities.value.forEach(m => {
          m.memberFacilities.forEach(f => {
            if (f.facilityName.includes(search)) {
              f.isShowMember = false;
            } else {
              f.isShowMember = true;
            }
          })
        })
      }, 100);
    }

    else {
      this.dtFacilities.expandedRows = [];
      this.dtFacilities.value.forEach(m => {
          m.memberFacilities.map(val => {
            val.isShowMember = false;
          })
        })
    }
  }

Здесь, в этом разделе,

if (f.facilityName.includes(search)) {
                  f.isShowMember = false;
                } else {
                  f.isShowMember = true;
                }
              })

для поиска он принимает "c", поэтому он выполняет условие else, устанавливая флаг "Check" isShowMember в значение true.

DEMO

1 Ответ

1 голос
/ 15 апреля 2019
let mySearch = search.toLowerCase();
let facilityName = f.facilityName.toLowerCase();
if (facilityName && facilityName.includes(search)) {
                  f.isShowMember = false;
                } else {
                  f.isShowMember = true;
                }
              })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...