Data disimulasikan Apabila saya mengklik edit, saya ingin memadamkan elemen yang dipilih, iaitu jika satu dipilih, satu akan dipadamkan, berbilang elemen akan dipadamkan tatasusunan akan dipadamkan. Elemen mempunyai atribut
secara lalaichecked
struktur html
全部商品
{{ shopping.title }}
¥{{ shopping.money }}
x{{ shopping.shoppingnum }}
js kodvar vm = new Vue({ el : ".t-root", data : { showtext : true, shoppingList : [ { id : 11, title : '贡牌茶叶西湖春茶正宗雨前龙井茶礼盒装礼盒装160g礼盒装', money : 48, imgsrc : 'images/download-order-img-11@2x.png', shoppingnum : 1, checked : true }, { id : 22, title : '贡牌茶叶西湖春茶正宗雨前龙井茶礼盒装礼盒装160g礼盒装', money : 98, imgsrc : 'images/download-order-img-11@2x.png', shoppingnum : 1, checked : true }, { id : 33, title : '贡牌茶叶西湖春茶正宗雨前龙井茶礼盒装礼盒装160g礼盒装', money : 148, imgsrc : 'images/download-order-img-11@2x.png', shoppingnum : 1, checked : true } ] }, computed : { }, methods : { editorShopping : function(){ this.showtext = !this.showtext; }, removeShopping : function(){ var that = this; that.shoppingList.forEach(function(value,index){ //只有为true时才删除 if (value.checked) { that.shoppingList.splice(index,1); // console.log(index); } }); }, add : function(index){ var shopping = this.shoppingList[index]; if (shopping.shoppingnum == 100) { return false; }else { shopping.shoppingnum ++; } }, reduce : function(index){ var shopping = this.shoppingList[index]; if (shopping.shoppingnum == 1){ return false; }else { shopping.shoppingnum --; } } } });
Apabila memadamkan elemen tatasusunan dalam kelompok dalam JS, anda harus memadamkannya dalam susunan terbalik (bermaksud memadamkan elemen dengan indeks yang besar dahulu, dan kemudian memadamkan elemen dengan indeks yang kecil),
Oleh kerana indeks tatasusunan akan berubah semasa pemadaman proses, jika elemen kecil dipadamkan dahulu, indeks elemen berikutnya akan berubah.
Saya menulis demo mudah:
Ubah pemikiran anda, jangan padam, penapisan adalah lebih mudah dan lebih intuitif.
Sudah diselesaikan!
Alamat rujukan
Gunakan gelung terbalik