Я пытаюсь изменить то, что показывает таблица в соответствии с тем, что записывается в поле ввода символов - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь изменить представление таблицы в соответствии с тем, что записывается в поле ввода. Например если я введу в поле ввода букву А, я хочу, чтобы таблица показывала все объекты в этом массиве, имена которых начинаются с буквы А. после этого, если я продолжу печатать другую букву, которая B я хочу показать таблицу чьи имена начинаются с буквы А и В.

Я использую угловую 5 мысль.

Просто чтобы подтвердить, я смог сделать это, выполнив несколько операторов if, но это не очень хорошо, потому что давайте предположим, что длина поля ввода, которое я хочу все время проверять, составляет 20 символов, так что не умный, чтобы сделать 20 если заявления ... вот почему мне нужна помощь в этом вопросе на самом деле.

Посмотри пожалуйста мой код.

    const tempArray = [];
    let desserts2;

  for (let i = 0 ; i < this.desserts.length; i++ ) {
    if ( state.charAt(this.counter) === 
this.desserts[i].name.charAt(this.counter) ) {
      tempArray.push(this.desserts[i]);
      desserts2 = tempArray;
      this.sortedData = desserts2.slice();
      this.showClearImage = true;
      this.placeholderText = '';
    }
  }
  tempArray.length = 0 ;
  for (let i = 0 ; i < this.desserts.length; i++ ) {
    if (
      state.charAt(this.counter + 1 ) === 
this.desserts[i].name.charAt(this.counter + 1 )  &&
      state.charAt(this.counter) === 
this.desserts[i].name.charAt(this.counter)
    ) {
      tempArray.push(this.desserts[i]);
      desserts2 = tempArray;
      this.sortedData = desserts2.slice();
      this.showClearImage = true;
      this.placeholderText = '';
    }
  }
  tempArray.length = 0 ;
  for (let i = 0 ; i < this.desserts.length; i++ ) {
    if (
      state.charAt(this.counter + 2 ) === 
this.desserts[i].name.charAt(this.counter + 2 ) &&
      state.charAt(this.counter + 1 ) === 
this.desserts[i].name.charAt(this.counter + 1 )  &&
      state.charAt(this.counter) === 
this.desserts[i].name.charAt(this.counter)
    ) {
      tempArray.push(this.desserts[i]);
      desserts2 = tempArray;
      this.sortedData = desserts2.slice();
      this.showClearImage = true;
      this.placeholderText = '';
    }
  }
  tempArray.length = 0 ;
  for (let i = 0 ; i < this.desserts.length; i++ ) {
    if (
      state.charAt(this.counter + 3 ) === 
this.desserts[i].name.charAt(this.counter + 3 ) &&
      state.charAt(this.counter + 2 ) === 
this.desserts[i].name.charAt(this.counter + 2 ) &&
      state.charAt(this.counter + 1 ) === 
this.desserts[i].name.charAt(this.counter + 1 )  &&
      state.charAt(this.counter) === 
this.desserts[i].name.charAt(this.counter)
    ) {
      tempArray.push(this.desserts[i]);
      desserts2 = tempArray;
      this.sortedData = desserts2.slice();
      this.showClearImage = true;
      this.placeholderText = '';
    }
  }
...