Найти повторяющееся значение Vuejs - PullRequest
0 голосов
/ 16 января 2020

У меня есть массив имен, и если пользователь пытается обновить одно из них и дублирует его, я хочу что-то сделать (сообщение об ошибке). Проблема в том, что он всегда дублируется. Pname будет меняться при каждом нажатии клавиши. Я не уверен, как сохранить исходный массив и сравнить с ним.

<input
    v-model="Pname"
    type="text"
    class="form-control"
/>

for(let element of this.customer_names){
    if(this.Pname == element.name){
       duplicateValue = +1;
    }
}

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Вы можете использовать @blur следующим образом:

<input
  v-model="Pname"
  type="text"
  class="form-control"
  @blur="findDuplicate"
>

function findDuplicate () {
  if(this.customer_names.indexOf(this.Pname) != -1) {
    // There is a duplicate
  }
}

Итак, когда вы нажимаете снаружи, после того, как вы закончите печатать, он запустит функцию findDuplicate.

0 голосов
/ 16 января 2020

Вы можете сделать что-то простое, например:

if(this.customer_names.indexOf(this.Pname) != -1) {
  // there is a duplicate somewhere
}

Поместите этот код в прослушиватель событий изменения / нажатия клавиш

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...