javascript - Tanya: Bagaimana untuk memadam elemen tatasusunan yang dipilih dalam Vue (apabila terdapat berbilang pilihan)?
我想大声告诉你
我想大声告诉你 2017-05-19 10:35:09
0
3
997

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

Alamat demo

struktur html

全部商品

{{ showtext ? '编辑' : '完成' }}

js kod

var 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 --; } } } });
我想大声告诉你
我想大声告诉你

membalas semua (3)
伊谢尔伦

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:

     

  • {{value}}

    我想大声告诉你

    Ubah pemikiran anda, jangan padam, penapisan adalah lebih mudah dan lebih intuitif.

    // 直接过滤更简单,直观 var arr = [{a:1,c:true},{a:2,c:false},{a:3,c:true}] arr = arr.filter(function(i){ return !i.c }) console.log(arr) // {a:2,c:false}
      黄舟

      Sudah diselesaikan!
      Alamat rujukan
      Gunakan gelung terbalik

      removeShopping : function(){ var that = this; for (var i = that.shoppingList.length - 1;i >= 0;i--) { var index = that.shoppingList[i]; if (index.checked) { that.shoppingList.splice(i,1); } } }
        Muat turun terkini
        Lagi>
        kesan web
        Kod sumber laman web
        Bahan laman web
        Templat hujung hadapan
        Tentang kita Penafian Sitemap
        Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!