2017-01-25 9 views
0

を競合します、チェックボックスのIDが衝突:Vue.jsコンポーネントは、私はラベルの付いたチェックボックスを持つカスタムVueのコンポーネント(vcheck)を持っている

<vcheck v-model="val1" display-checked="Yes" display-unchecked="No"></vcheck> 
<vcheck v-model="val2" display-checked="Tested" display-unchecked="Untested"></vcheck> 

だから私は、第二のチェックボックスのラベルをクリックすると、第一1つの変化(どちらも同じIDを持っているので)。現時点では、私はIDを削除し、ラベルに@clickというイベントだけを使用しました。しかし、コンポーネントのすべてのインスタンスに固有のIDを生成する方法はありますか?

<vcheck v-model="val1" display-checked="Yes" display-unchecked="No" id="123"> 
</vcheck> 

とチェックボックスのためにそれを使用します:

<input 
    v-model="val" 
    type='checkbox' 
    :true-value="trueValue" 
    :false-value="falseValue" 
    :id="id" 
> 

は、私はあなたが使用している場合、IDはmandatoryを支える作ることをお勧めします

答えて

1

1つのオプションはvcheckに小道具としてもIDを渡すことができますこの。

+0

これは良い提案ですが、私は宣言を可能な限り最小限に抑えたいと思います。さらに、それはIDのトラックをとにかく保つ必要があります。 – andrei

関連する問題