私は現在、次のシナリオを持っている:@click追加/削除チェックボックスのデータ
いずれかがクリックされたら、私は、複数のチェックボックスを持って、それの値が配列に追加されます。このチェックボックスをオフにすると、アレイから項目を再度削除する必要があります。
selectAddOn(addOnId) {
if (! this.selectedAddOns.includes(addOnId)) {
this.selectedAddOns.push(addOnId);
}
}
次の作品は、私のselectedAddOns[]
に追加します。しかし、チェックボックスをもう一度チェックすると、そのチェックボックスは削除されません。確かに、私はちょうど
をelse
を使用していますが、...可能性が残念ながら、ブラウザの動作は、あなたが<label>
をクリックしたときで、クリックイベントが自動的に<input>
にトリガされますので、外側のdivが2つのイベントから1を受け取り、ラベル、入力から1つ。私は<label>
に@click.prevent
を追加することでこの問題を回避できますが、これで私のカスタムチェックボックスのスタイルは追加されません。
<div @click="selectAddOn(index)" class="col-6" v-for="(addOn, index) in categories[categoryId].addOns">
<label class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">{{ addOn.name }} (+ ${{ addOn.price }})</span>
</label>
</div>
このシナリオをどのように回避することができますか?
私は常にその行動を忘れています。 >< – Bert
私はあなたが再びそれを忘れることはないと確信しています。 :) –