国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue 實(shí)現(xiàn)搜索的結(jié)果頁面支持全選與取消全選

荊兆峰 / 880人閱讀

摘要:搜索結(jié)果支持全選與取消選擇,且添加到已選中支持刪除與清空演示地址,打開搜索隨便點(diǎn)倉庫代碼安裝安裝在引入功能概覽默認(rèn)沒有全選,搜索時支持全選與取消全選,將選擇的數(shù)據(jù)添加到已選中,已選刪除時改變當(dāng)前搜索列表的狀態(tài)與全選按鈕的狀態(tài)全選

搜索結(jié)果支持全選與取消選擇,且添加到已選中(支持刪除與清空)

演示地址,打開、搜索、隨便點(diǎn)

demo : http://msisliao.github.io/dem...

倉庫代碼 : https://github.com/msisliao/v...

安裝vue-cli

安裝elementUI npm i element-ui -S

在main.js 引入elementUI

// main.js
import ElementUI from "element-ui"
import "element-ui/lib/theme-chalk/index.css"
Vue.use(ElementUI)
demo功能概覽

默認(rèn)沒有全選,搜索時支持全選與取消全選,

將選擇的數(shù)據(jù)添加到已選中,已選刪除時改變當(dāng)前搜索列表的狀態(tài)與全選按鈕的狀態(tài)

全選時全部追加到已選,取消全選時從已選中刪除當(dāng)前搜索的列表

功能列表

1、搜索時展示相應(yīng)的數(shù)據(jù)列表,支持全選與取消全選,(默認(rèn)展示所有數(shù)據(jù)時不支持全選)

    datas() {
      // 每次搜索的數(shù)據(jù) 根據(jù)下拉菜單的值的變化
      if (this.value !== "") {
        return this.listItem.list.filter(item => {
          return item.BrandNames.includes(this.value);
        });
      } else {
        return this.listItem.list; // 沒有搜索的關(guān)鍵詞時展示全部數(shù)據(jù)
      }
    },

2、搜索的下拉菜單去重

    filDatas() {
      // 利用reduce 下拉菜單去重
      var obj = {};
      return this.listItem.list.reduce(function(item, next) {
        obj[next.BrandNames] ? "" : (obj[next.BrandNames] = true && item.push(next));
        return item;
      }, []);
    }

3、當(dāng)前界面全選時添加到已選中,當(dāng)前界面取消全選時,從已選的數(shù)據(jù)刪除當(dāng)前搜索出來的列表數(shù)據(jù),

    // 每次搜索列表的全選 與 取消全選
    ckAll() {
      this.allck = !this.allck;  //點(diǎn)擊全選 變 取消選擇
      let arrys = []; //存放復(fù)選框?yàn)槿∠麪顟B(tài)的數(shù)據(jù)
      if (this.allck) { // 將當(dāng)前搜索的列表數(shù)據(jù)追加到已選中
        this.datas.forEach(item => {
          item.ck = true; 
          if (!this.arr.includes(item)) { // 追加復(fù)選框?yàn)閒alse的數(shù)據(jù)
            this.arr.push(item);
            this.ckarr.push(item);
          }
        });
      } else {
        this.datas.forEach(item => {  item.ck = false; }); //當(dāng)前搜索的數(shù)據(jù)列表復(fù)選框設(shè)為取消狀態(tài)
        arrys = this.datas.filter(item => {  return !item.ck;  });   //把復(fù)選框?yàn)閒alse的數(shù)據(jù) 拿出來
        this.datas.forEach(items => {  //已選那里刪除當(dāng)前搜索列表復(fù)選框?yàn)閒alse的數(shù)據(jù)
          arrys.forEach(item => {
            if (item.BrandID == items.BrandID) { this.arr.splice(this.arr.indexOf(item), 1);}
          });
        });
        this.ckarr = []; //當(dāng)前搜索列表為復(fù)選框的數(shù)據(jù)清空
      }
    },

4、列表選中時添加到已選,全部選中時改變?nèi)x狀態(tài)(變?nèi)∠x)

// 監(jiān)聽當(dāng)前搜索列表的勾選數(shù)據(jù)
    ckarr: function() {
      if (this.value !== "") {
        this.ckarr.length == this.datas.length ? this.allck = true  : this.allck = false; //如果已選等于當(dāng)前搜索列表 改變?nèi)x狀態(tài)
      }
    }

5、在已選中操作刪除時,如果刪除的是當(dāng)前搜索的列表,當(dāng)前全選改變狀態(tài),如果刪除的非當(dāng)前搜索列表,當(dāng)前全選狀態(tài)不變(這里有點(diǎn)繞)

    handleClose(tag) {
      this.arr.splice(this.arr.indexOf(tag), 1); // 點(diǎn)哪刪哪
      this.ckarr.forEach(items => {   // 判斷刪除的是否是當(dāng)前搜索列表的數(shù)據(jù) 是的話改變?nèi)x狀態(tài)
        if (items.BrandID == tag.BrandID) {
          this.ckarr.splice(this.ckarr.indexOf(tag), 1);
        }
      });
      this.listItem.list.forEach(items => {       // 刪除已選時改變數(shù)據(jù)列表狀態(tài)
        if (items.BrandID == tag.BrandID) { items.ck = false; }
      });
    }, 
    

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/110193.html

相關(guān)文章

  • vue實(shí)現(xiàn)一個淘寶購物車,給和我一樣苦苦掙扎前端小白(更新)

    摘要:最近后端的同事要我寫一個購物車,一開始我用寫,但寫著寫著發(fā)現(xiàn)邏輯太混亂了,寫不下去。所以我想著用來實(shí)現(xiàn)一個。但在購物車中這樣的方法是不行的,單個商品的選中以及取消所執(zhí)行的邏輯有部分不同,所以我選擇將其拆分。 最近后端的同事要我寫一個購物車,一開始我用jQuery寫,但寫著寫著發(fā)現(xiàn)邏輯太混亂了,寫不下去。最后花了五分鐘找了個demo丟給了他。后來我不甘心,畢竟水平菜還不求上進(jìn)就完蛋了。所...

    Ajian 評論0 收藏0
  • vue實(shí)現(xiàn)單選多選反選全選全不選

    摘要:多選如果已經(jīng)選中了,那就取消選中,如果沒有,則選中接下來我們寫一下全選,全取消,反選的實(shí)現(xiàn)。 單選 當(dāng)我們用v-for渲染一組數(shù)據(jù)的時候,我們可以帶上index以便區(qū)分他們我們這里利用這個index來簡單地實(shí)現(xiàn)單選 {{item}} 首選定義一個selectedNum,當(dāng)我們點(diǎn)擊item時,便把這個selectedNum更改為我們所點(diǎn)擊的item的index,然后每個item上加入判...

    劉福 評論0 收藏0
  • 原生Js-msi系統(tǒng)

    摘要:我也意識到在學(xué)習(xí)一個框架前,將框架的思想和原生的實(shí)現(xiàn)進(jìn)行對比有多么重要。這個是目前為止一個大的框架思路,當(dāng)然還要再進(jìn)行每個功能的細(xì)分。表格將上一步的并集數(shù)據(jù)顯示出來渲染分表格,表格有一個表頭,用于展示商品的種類地區(qū)以及每月的銷售情況。 前言:由于剛?cè)肭岸藭r間并不長,之前最近一直處在學(xué)習(xí)的階段,現(xiàn)在準(zhǔn)備找工作,回首看看之前學(xué)的,發(fā)現(xiàn)了很多的瑕疵。我分析覺得主要原因在于之前有些東西學(xué)的太快...

    K_B_Z 評論0 收藏0
  • 微信小程序之購物車功能

    摘要:微信小程序其實(shí)跟的用法非常像,接下來就看看小程序可以怎樣實(shí)現(xiàn)購物車功能。完整的小程序商城含購物車,請戳更多文章微信贊賞 前言 以往的購物車,基本都是通過大量的 DOM 操作來實(shí)現(xiàn)。微信小程序其實(shí)跟 vue.js 的用法非常像,接下來就看看小程序可以怎樣實(shí)現(xiàn)購物車功能。 需求 showImg(https://segmentfault.com/img/remote/146000000935...

    Benedict Evans 評論0 收藏0
  • Vue.js實(shí)現(xiàn)一個簡易問卷平臺(項(xiàng)目中遇到問題總結(jié))

    摘要:項(xiàng)目地址源碼地址預(yù)覽地址沒有做響應(yīng)式,請?jiān)陔娔X上打開使用了我自制的日歷組件初學(xué)時做的,有些糙任務(wù)描述參考設(shè)計圖實(shí)現(xiàn)一個簡易版的問卷管理系統(tǒng),有如下功能問卷管理列表有一個頭部可以顯示,不需要實(shí)現(xiàn)登錄等操作問卷管理列表頁面默認(rèn)為首頁有一個表格 項(xiàng)目地址 源碼地址 預(yù)覽地址(沒有做響應(yīng)式,請?jiān)陔娔X上打開) 使用了我自制的日歷組件(初學(xué)vue時做的,有些糙)calendar-input 任...

    Scott 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<