亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

VUE實現移動端列表篩選功能

2019-11-19 10:59:25
字體:
來源:轉載
供稿:網友

最近興趣所致,打算使用vant搭建一個webapp,由于需要使用列表篩選,沒有找到合適組件,于是寫了一個簡單的功能,權當記錄。

效果如下:

HTML:

<div class="filterbar">   <div class="filterbar-title">    <ul class="title-ul">     <li      :class="{'title-li':true, 'current': item.isShow}"      v-for="(item, index) in barMenus"      :key="index"     >      <span @click="handerClickMenu(item)">       {{item.name}}       <van-icon :name="item.isShow ? 'arrow-up' :'arrow-down'" />      </span>      <div class="filterbar-content" v-on:click.stop v-if="item.isShow">       <ul class="content-ul">        <li         v-for="(child, number) in item.data"         :key="number"         :class="{'current': child.selected}"         @click="handerClickContent(item, child)"        >         {{child.name}}         <van-icon v-if="child.selected" name="success" />        </li>       </ul>       <div class="button-div" v-if="item.multiple">        <van-button plain type="default" @click="handerClear(item)">清空</van-button>        <van-button type="info" @click="search">確定</van-button>       </div>      </div>     </li>    </ul>   </div>   <div class="bg-filterbar" v-if="isBgFilterbarShow" @click="handerClickMenu"></div>  </div>

CSS:

.filterbar {  position: fixed;  z-index: 2;  left: 0;  top: 3.1em;  width: 100%;  background-color: #fff;  height: 2em;  .bg-filterbar {   position: fixed;   width: 100%;   height: 100%;   background-color: black;   opacity: 0.2;   z-index: 1;   left: 0;   top: 4.2em;  }  .filterbar-title {   width: 100%;   .title-ul {    height: 1.4em;    margin-bottom: 0.5em;    border-bottom: 1px solid #eee;   }   ul .title-li {    width: 24%;    float: left;    text-align: center;    font-size: 0.9em;    .filterbar-content {     position: absolute;     left: 0;     width: 100%;     padding: 0.5em;     background-color: #fff;     z-index: 2;     top: 1.24em;    }    .content-ul li {     text-align: left;     color: #111;     font-weight: 400;     padding-left: 1.5em;     padding-top: 0.7em;    }    .content-ul .current {     color: #1989fa;    }   }   ul .current {    color: #1989fa;    font-weight: 600;   }   ul:after {    content: "";    display: block;    clear: both;   }   .content-ul .van-icon {    float: right;    margin-right: 2.5em;   }   ul .van-icon {    vertical-align: middle;   }  }  .button-div {   margin-top: 1.5em;   text-align: center;   button {    width: 48%;    float: left;   }   .van-button {    height: 3em;    line-height: 3em;    font-size: 1em;    font-weight: 400;   }  } }

JS:

<script>export default { data() {  return {   barMenus: [    {     name: "菜系",     value: 1,     isShow: false,     multiple: true,     data: [      { name: "川菜", value: 1, selected: false },      { name: "粵菜", value: 2, selected: false },      { name: "湘菜", value: 3, selected: false },      { name: "蘇菜", value: 4, selected: false },      { name: "閩菜", value: 5, selected: false },      { name: "徽菜", value: 6, selected: false },      { name: "浙菜", value: 7, selected: false },      { name: "魯菜", value: 8, selected: false }     ]    },    {     name: "口味",     value: 2,     isShow: false,     multiple: true,     data: [      { name: "清淡", value: 1, selected: false },      { name: "麻辣", value: 2, selected: false },      { name: "養生", value: 3, selected: false }     ]    },    {     name: "適合人群",     value: 3,     isShow: false,     multiple: true,     data: [      { name: "老人", value: 1, selected: false },      { name: "嬰兒", value: 2, selected: false },      { name: "小孩", value: 2, selected: false },      { name: "病人", value: 2, selected: false }     ]    },    {     name: "排序",     value: 4,     isShow: false,     multiple: false,     data: [      { name: "做過最多", value: 1, selected: false },      { name: "點贊最多", value: 2, selected: false }     ]    }   ]  }; }, computed: {  isBgFilterbarShow: {   get() {    let isBgShow = false;    this.barMenus.forEach(function(currentValue, index, arr) {     if (currentValue.isShow) {      isBgShow = true;     }    });    return isBgShow;   }  } }, methods: {  search() {   this.handerClose();  },  handerClose() {   this.barMenus.forEach(function(currentValue, index, arr) {    currentValue.isShow = false;   });  },  handerClickMenu(item) {   if (!item) {    return;   }   this.barMenus.forEach(function(currentValue, index, arr) {    if (currentValue.value == item.value) {     currentValue.isShow = !currentValue.isShow;    } else {     currentValue.isShow = false;    }   });  },  handerClickContent(item, child) {   if (!item.multiple) {    this.handerClear(item);    this.handerClose(item);   }   child.selected = !child.selected;  },  handerClear(item) {   item.data.forEach(function(currentValue, index, arr) {    currentValue.selected = false;   });  } }};</script>

參數說明:

name:篩選項顯示名稱
value:篩選項code
isShow:是否顯示
multiple: 是否多選,為true時會有清空和確定功能按鈕
data: 篩選列表項

總結

以上所述是小編給大家介紹的VUE實現移動端列表篩選功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品999| 国产日韩换脸av一区在线观看| 欧美激情视频一区| 久久精品久久久久久| 成人精品视频99在线观看免费| 色琪琪综合男人的天堂aⅴ视频| 九九热这里只有精品6| 日韩欧美国产中文字幕| 97高清免费视频| 亚洲偷欧美偷国内偷| 国内精品在线一区| 色妞色视频一区二区三区四区| 精品中文字幕视频| 国产偷亚洲偷欧美偷精品| 91香蕉嫩草神马影院在线观看| 欧美裸体xxxx极品少妇软件| 亚洲精品黄网在线观看| 亚洲二区中文字幕| 欧美日韩国产成人在线观看| 中文字幕日韩在线观看| 性欧美长视频免费观看不卡| 在线观看欧美成人| 92版电视剧仙鹤神针在线观看| 午夜剧场成人观在线视频免费观看| 国产精品久久精品| 国产亚洲精品激情久久| 国产精品美女999| 精品美女永久免费视频| 亚洲自拍中文字幕| 亚洲香蕉av在线一区二区三区| 欧美日韩在线另类| 亚洲色图50p| 国产九九精品视频| 欧美电影在线观看网站| 欧美在线视频网站| 成人在线视频网站| 免费97视频在线精品国自产拍| 日韩国产高清污视频在线观看| 国产精品一区二区3区| 国产精品精品一区二区三区午夜版| 国产视频精品久久久| 丁香五六月婷婷久久激情| xxxxxxxxx欧美| 国产精品旅馆在线| 91天堂在线视频| xxav国产精品美女主播| 亚洲免费人成在线视频观看| 97视频在线观看免费高清完整版在线观看| 亚洲区在线播放| 国产成人综合亚洲| 96精品久久久久中文字幕| 91性高湖久久久久久久久_久久99| 俺也去精品视频在线观看| 色噜噜狠狠色综合网图区| 欧美日韩高清区| 亚洲人成欧美中文字幕| 欧美性xxxx在线播放| 欧美国产精品va在线观看| 亚洲福利视频专区| 97超级碰在线看视频免费在线看| 色阁综合伊人av| 亚洲欧美日韩第一区| 国产福利精品在线| 欧美日韩在线免费观看| 日本aⅴ大伊香蕉精品视频| 成人免费网站在线看| 久久久在线视频| 精品国产一区二区三区在线观看| 久久久91精品国产| 亚洲欧美一区二区三区情侣bbw| 亚洲电影天堂av| 国产精品直播网红| 久久精品一区中文字幕| 国产精品热视频| 国产三级精品网站| 亚洲第一福利视频| 国产精品福利在线观看网址| 精品视频偷偷看在线观看| 日韩视频在线免费观看| 欧美孕妇性xx| 国产欧美欧洲在线观看| 尤物九九久久国产精品的分类| 欧美电影在线观看| 91精品视频在线看| 456亚洲影院| 国产日韩欧美影视| 国产成人拍精品视频午夜网站| 亚洲国产成人精品久久| 国产精品999| 国产成人精品免高潮费视频| 精品日本美女福利在线观看| 精品国产91久久久| 91亚洲人电影| 欧美日韩在线观看视频小说| 91精品国产一区| 国产美女直播视频一区| 国产精品观看在线亚洲人成网| 成人性教育视频在线观看| 精品久久久久久中文字幕一区奶水| 亚洲女人被黑人巨大进入| 国产高清视频一区三区| 精品激情国产视频| 成人av在线天堂| 91精品视频免费观看| 亚洲成人在线视频播放| 久久久久www| 成人欧美一区二区三区在线| 亚洲精品一区二区三区婷婷月| 在线成人中文字幕| 国产伦精品一区二区三区精品视频| 欧美大秀在线观看| 久久99精品国产99久久6尤物| 91精品国产高清自在线看超| 亚洲国产成人久久综合| 欧美激情视频一区二区三区不卡| 久久精品精品电影网| 欧美激情第6页| 亚洲免费视频一区二区| 国产精品一区二区三区毛片淫片| 国产精品爽黄69| 国产在线久久久| 深夜精品寂寞黄网站在线观看| 国产成人精品日本亚洲| 98精品国产自产在线观看| 日韩欧美在线第一页| 亚洲精品乱码久久久久久按摩观| 成人一区二区电影| 欧美天堂在线观看| 裸体女人亚洲精品一区| 青青草原一区二区| 26uuu日韩精品一区二区| 欧美福利在线观看| 亚洲专区国产精品| 国产精品99久久久久久久久久久久| 视频一区视频二区国产精品| 日韩a**中文字幕| 久久久免费高清电视剧观看| 亚洲人成网在线播放| 国产成人精品国内自产拍免费看| 在线观看欧美日韩国产| 久久这里只有精品视频首页| 欧美激情精品久久久久久大尺度| 国产精品视频一区二区高潮| 国产99在线|中文| 久久久久久久国产| 伊人久久男人天堂| 久久综合伊人77777| 亚洲色图35p| 91av视频在线播放| 国产成人一区二区三区小说| 亚洲色图综合网| 久久视频在线看| 操91在线视频| 中文字幕av日韩| 国产精品日韩在线观看| 亚洲激情自拍图| 欧美猛男性生活免费| 久久99视频精品| 中文一区二区视频| 亚洲欧美日韩图片| 亚洲欧美国产精品专区久久| 国产精品吹潮在线观看| 亚洲精品v欧美精品v日韩精品| 一本色道久久88综合亚洲精品ⅰ|