1. 程式人生 > >Vue 刨坑之路(一)——關於v-for迴圈下的checkbox選中以及提交(購物車)

Vue 刨坑之路(一)——關於v-for迴圈下的checkbox選中以及提交(購物車)

最近剛接觸vue,作為前端三駕馬車之一,Vue不僅易上手,而且結構極其優雅,剛使用就對其愛不釋手,以下是本人在實際開發中所遇到的難題以及解決思路。
關於v-for迴圈下的checkbox選中以及提交
這裡寫圖片描述
作為購物車的功能之一,複選框商品是最基礎的功能,由於購物車裡的商品列表是陣列,所以只能在v-for裡手動新增checkbox,並用v-model進行雙向繫結。
檢視Vue文件所知,v-model是v-bind:checked的語法糖,所以checkbox裡只新增v-model就可以了,通過v-model的Boolean來拾取是否被選中。
思路:
1.首先處理接收到的資料,由於需要通過v-model來拾取狀態,所以需要給商品新增初始未選取的屬性false

//carShop為購物車商品列表 
for(var i=0;i<carShop.length;i++){
                    carShop[i].status=false //新增status屬性
                }
                this.listData = res.data.carShop //存入data中
2.由於使用的是mint-ui,所以看了下mint-ui中的checklist,發現並不能滿足需求,於是檢視原始碼,直接把checkbox樣式結構給移入到程式碼中。
<div class="mint-cell-title flex justify-center items-center"
>
<label class="mint-checklist-label"> <span class="mint-checkbox"> <input type="checkbox" class="mint-checkbox-input" ***v-model="item.status"***> <span class="mint-checkbox-core"></span> </span> </label> </div
>

3.新增v-model=”item.status”
結果如上圖
4.點選結算拾取提交資料
點選結算觸發submit事件,迴圈判斷每個item.status是否為true,如果為true,提交資料。