私は選択リスト(APIからフェッチ)を持つフォームを作成しようとしています。ユーザーはこのリストから別の配列にアイテムを追加できます。新しい配列はv-forを介してレンダリングされ、v-modelを使用していくつかの追加データを編集します。Vue js v-for v-bindがユニークでない
たとえば、私は選択されたオプションブロックにレンダリングされる事前に定義された商品/サービスのリストを持っています。これでユーザーはこれらの製品の1つを選択し、請求書に追加することができます。追加した後(新しい配列にプッシュされる)、ユーザーはいくつかの追加変更を行うことができなければなりません。
<select class="form-control" v-model="selectedServiceId">
<option v-for="service in services" :value="service._id">{{service.name}}</option>
</select>
<button type="button" class="btn btn-primary" v-on:click="addService">Add</button>
サービスメソッドを追加:
addService() {
for (var i = 0; i < this.services.length; i++) {
if (this.services[i]._id == this.selectedServiceId) {
this.services_goods.push(this.services[i])
break;
}
}
}
をそして今、私は私がにプッシュしたリストをレンダリングしたい:私は二度同じ項目を追加するまで
<ul>
<li v-for="(item, key) in services_goods">
<span>{{item.name}}</span>
<label for="itemPrice">Price €
<input id="itemPrice" v-model="item.price">
</label>
<label for="itemQty">Quantity
<input type="number" min="1" id="itemQty" v-model="item.quantity">
</label>
<div>
<button type="button" v-on:click="removeService(item._id)">X</button>
</div>
</li>
</ul>
すべてがアップ結構ですそのうちの1つの価格を変更しようとすると、両方の価格が変更されます。
この作品、ありがとうございます! –