亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Vue實現(xiàn)的多條件篩選功能的詳解(類似京東和淘寶功能)

 更新時間:2019年05月07日 09:15:31   作者:丹青筆墨  
這篇文章主要介紹了Vue多條件篩選功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

基于Vue實現(xiàn)的多條件篩選功能(類似京東和淘寶功能),可以支持多選、清空、全選功能,數(shù)據(jù)源是通過JSon格式的數(shù)據(jù)封裝而成。

實現(xiàn)的效果圖:

代碼實現(xiàn)如下:

html:

<div id='app'>
<template v-if='condition.length'>
	<div>
<span>已選中:<span>
	<span v-for='(item,index) in condition' class='active'>{{item.name}}&nbsp;|&nbsp;</span>
	</div>
</template>
<template v-if='category.length'>
	<div class='nav' v-for='(items,index) in category'>
		<div class='mutil-query-title' v-if='items.name' :key="items.id">{{items.name}}<span style='margin-left: 20px;' @click='allIn(index)'>全選</span>|<span @click='remove(index)'>清空</span></div>
		<ol v-if='items.items.length'>
			<li v-for='(item,key) in items.items'>
				<span :class="{'active':item.active}" @click='handle(index,key)' :key='item.id'>{{item.name}}</span>
			</li>
		</ol>
	</div>
</template>
</div>

js代碼如下:

var list={
	category:[
		{
			name:'品牌',
			items:[
			{
				name:'聯(lián)想',
				active: false
			},
			{
				name:'小米',
				active: false
			},
			{
				name:'蘋果',
				active: false
			},
			{
				name:'東芝',
				active: false
			}
			]
		},
		{
			name:'CPU',
			items:[
			{
				name:'intel i7 8700K',
				active: false
			},
			{
				name:'intel i7 7700K',
				active: false
			},
			{
				name:'intel i9 9270K',
				active: false
			},
			{
				name:'intel i7 8700',
				active: false
			},
			{
				name:'AMD 1600X',
				active: false
			
			}
			]
		},
		{
			name:'內(nèi)存',
			items:[
			{
				name:'七彩虹8G',
				active: false
			},
			{
				name:'七彩虹16G',
				active: false
			},
			{
				name:'金士頓8G',
				active: false
			},
			{
				name:'金士頓16G',
				active: false
			}
			]
		},
		{
			name:'顯卡',
			items:[
			{
				name:'NVIDIA 1060 8G',
				active: false
			},
			{
				name:'NVIDIA 1080Ti 16G',
				active: false
			},
			{
				name:'NVIDIA 1080 8G',
				active: false
			},
			{
				name:'NVIDIA 1060Ti 16G',
				active: false
			}
			]
		}
	],
	condition:[
	]
};
var count=0;
var app =new Vue({
	el:'#app',
	data:list,
	methods:{
		handle:function(index,key){
			var item=this.category[index].items;
			item.filter(function(v,i){
				if(i==key){
					v.active=true;			
					this.list.condition.filter(function(v2,i){
						if(v.name==v2.name){
							this.list.condition.splice(i,1);
							count--;
						}
					});					
					Vue.set(this.list.condition,count++,v);
				}
			});
			
		},
		remove:function(index){
			var item=this.category[index].items;
			item.filter(function (v1,key) {
				v1.active=false;
				this.list.condition.filter(function(v2,i){
					if(v1.name==v2.name){
						this.list.condition.splice(i,1);
						count--;
					}
				});
			});
		},
		allIn:function(index){
			var item=this.category[index].items;
			item.filter(function (v,key) {
				v.active=true;
				this.list.condition.filter(function(v2,i){
					if(v.name==v2.name){
						this.list.condition.splice(i,1);
						count--;
					}
				});					
				Vue.set(this.list.condition,count++,v);
			});			
		}
	}

});

源碼地址:http://xz.jb51.net:81/201905/yuanma/mutilQuery(jb51.net).rar

以上所述是小編給大家介紹的Vue多條件篩選功能詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Vue使用$set和$delete操作對象屬性

    Vue使用$set和$delete操作對象屬性

    這篇文章介紹了Vue使用$set和$delete操作對象屬性的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • vite 項目中如何使用Sass

    vite 項目中如何使用Sass

    Vite默認集成了對Sass的支持,你只需要安裝Sass本身即可,這篇文章主要介紹了vite 項目中如何使用Sass,需要的朋友可以參考下
    2024-04-04
  • Vue中的性能優(yōu)化方案

    Vue中的性能優(yōu)化方案

    本文主要介紹了Vue中的性能優(yōu)化方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Vue Router初始化路由信息詳解

    Vue Router初始化路由信息詳解

    這篇文章主要為大家詳細介紹了Vue Router初始化路由信息的相關(guān)知識,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2023-11-11
  • vue3中addEventListener的用法詳解

    vue3中addEventListener的用法詳解

    vue3中定義全局指令時,往往會碰到一個問題:事件無法解綁,為什么會這樣,因為通常在指令的mounted鉤子中綁定事件,事件處理函數(shù)也定義在mounted中,本文講給大家講講vue3中addEventListener的妙用,需要的朋友可以參考下
    2023-08-08
  • vue2.0 + element UI 中 el-table 數(shù)據(jù)導出Excel的方法

    vue2.0 + element UI 中 el-table 數(shù)據(jù)導出Excel的方法

    下面小編就為大家分享一篇vue2.0 + element UI 中 el-table 數(shù)據(jù)導出Excel的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Element UI表單組件進行通信的代碼詳解

    Element UI表單組件進行通信的代碼詳解

    Element UI是一個為Vue.js開發(fā)的優(yōu)秀 UI 組件庫,它提供了豐富的組件,包括表單組件,Element UI的表單組件可以幫助開發(fā)者快速構(gòu)建和管理表單,提高開發(fā)效率,在實際開發(fā)中,我們經(jīng)常需要在表單組件之間進行通信,本文將詳細介紹Element UI表單組件如何進行通信
    2025-02-02
  • Vue進度條progressbar組件功能

    Vue進度條progressbar組件功能

    progressbar組件在一個可以直接運行的npm包,通過Yeoman進行構(gòu)建,再通過Gulp+Webpack構(gòu)建工具。這篇文章給大家介紹了Vue進度條progressbar組件
    2018-04-04
  • vue項目打包部署流程分析

    vue項目打包部署流程分析

    這篇文章主要介紹了vue項目打包部署流程,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Vue.js表單控件實踐

    Vue.js表單控件實踐

    這篇文章主要為大家詳細介紹了Vue.js表單控件實踐,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論