Vue.js 查找重复值Vuejs

Vue.js 查找重复值Vuejs,vue.js,vuejs2,Vue.js,Vuejs2,我有一个名称数组,如果用户试图更新其中一个名称,并且名称重复,我想做一些事情(错误消息),问题是名称总是重复的。Pname将在每次按键时更改。我不知道如何存储初始数组并与之进行比较 <input v-model="Pname" type="text" class="form-control" /> for(let element of this.customer_names){ if(this.Pname == element.name){

我有一个名称数组,如果用户试图更新其中一个名称,并且名称重复,我想做一些事情(错误消息),问题是名称总是重复的。Pname将在每次按键时更改。我不知道如何存储初始数组并与之进行比较

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

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

for(让此.customer\u名称的元素){
if(this.Pname==element.name){
重复值=+1;
}
}

您可以做一些简单的事情,如:

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

将该代码放入更改/设置关键帧事件侦听器中

您可以像这样使用@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(){
if(this.customer\u names.indexOf(this.Pname)!=-1){
//有一个副本
}
}

因此,当您单击外部时,在您完成键入后,它将运行findDuplicate功能。

好,但在我键入某个内容后,this.customer\u名称已更改,新插入的值将出现,因此我始终会收到该值重复的消息。我已更新了我的答案。请检查它是否有用!!好的,但就像我说的,每次新输入时,这个.customer\u名称都会改变。this.Pname是this.customer\u name的一个元素。