select2事件在angular4中触发两次

时间:2017-10-24 07:00:52

标签: angular jquery-select2

标记

<select2 
         [data]="data"
         [width]="1024"
         [options]="options"
         [value]="selectedData"
         (valueChanged)="onTagChanged($event)">
</select2>

Angular 4 Component

onTagChanged(data: { value: string[] }): void {
    console.log(data);
    this.selectedData = data.value;
}
  

事件valueChanged触发两次,如何防止它。

2 个答案:

答案 0 :(得分:3)

 onTagChanged(data: { value: string[] }): void {
    console.log(data);
    this.selectedData = data.value;
}

您再次更改该值,即this.selectedData,因此值会更改两次,一次选择值并手动更改值。 由于该值绑定到selectedData,因此您无需在abvove方法中明确更改它。

[value]="selectedData"

答案 1 :(得分:3)

您的代码应该像

<select2 
         [data]="data"
         [width]="1024"
         [options]="options"
         (valueChanged)="onTagChanged($event)">
</select2>

只需删除 [value]="selectedData"