ショッピングカートをnuxtを利用して作成しており、カートの編集画面でv-selectの変更場所を検知したいと考えております。
カートに入っている商品はstoreを使ってlocalStorageに保存しております。
保存されている商品をv-forを利用して、商品の一覧を表示させているのですが、
その表示された商品の数量を変更するために、v-selectを利用しております。
Nuxt
1<tr 2 v-for="item in $store.cartItem" 3 :key="`itemForm-${item.itemId}`" 4> 5 <td>{{ item.itemName }} </td> 6 <td> 7 <v-select 8 :value="item.buyNum" 9 :items="buyNumItems" 10 @change="changeBuyNum" 11 > 12 </td> 13</tr>
ここのbuyNumItemsは1~20の数字を数量として選択できるようにしています。
v-modelを使えば楽なのですが、storeで設定している値のため、直接変更しようとするとエラーがでるため、
v-modelは使わずvalueを利用しております。
この状態で、下記のようにすると、変更した値は取得できるのですが、
どこで変更された値かが判断できなたいため、storeの値を更新できずにいます。
Nuxt
1changeBuyNum (num: number): void { 2 console.log(num) 3}
@changeのところで、changeBuyNum(item.itemId)等にしてIDを渡したり、v-forを(item, index)にして、changeBuyNum(index)とした場合には、変更した箇所を知らせることは出来るのですが、今度は変更した値が取得出来ません。
解決策をご存知の方ご教授頂ければ幸いです。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/01 23:51