国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue.js中過濾器的使用教程

2019-11-19 16:23:56
字體:
供稿:網(wǎng)友

前言

大家再使用vue做項(xiàng)目時,查詢功能當(dāng)然必不可少,這就得使用vue強(qiáng)大的filter啦。其實(shí)vue內(nèi)置的兩個屬性filterBy和orderBy已經(jīng)能滿足部分需求了,但是她更大的的魅力在于自定義filter(之后的文章中會分享),正好我最近做的項(xiàng)目中用到了這個。先給大家看下需求吧。如下圖,這是一個通訊錄頁面,當(dāng)我們在搜索欄中輸入關(guān)鍵字時需要展示相應(yīng)的員工,同時還得去掉A、B這樣的字母索引,并且輸入的關(guān)鍵字可以是中文也可以是拼音。

   

該頁面引入搜索欄組件search-bar以及聯(lián)系人組件user-list,這個搜索欄組件要做的事很簡單,因?yàn)槲覀儾樵兊倪@個參數(shù)是動態(tài)的,所以只需要在vue上掛載一個v-model即可,然后它相對于這個頁面來說是子組件,父子傳值就得用props,所以還要用props接收一下,簡單寫下該組件大家看明白意思即可。

// 組件search-bar<input type="search" v-model="okr_owner"/>props: { okr_owner: {  type: String }}
// 通訊錄頁面<template> <search-bar :okr_owner.sync="key_word"></search-bar> <user-list :filter_key="key_word"></user-list></template>
// 組件 user-list<li v-for="single_user in user_list.members | filterBy filter_key in 'user.u_name' 'okr_owner' | orderBy 'okr_owner'"> props: { filter_flag: {  type: Boolean }, filter_key:{  type: String }}

然后我們需要在該頁面引入這個搜索欄子組件,這里我用到了sync,因?yàn)閜rops只能父傳子,不能子傳父,但是我們這上面引用了兩個組件,就是說搜索欄組件中的data要拿到聯(lián)系人組件中來用,所以需要一個字段(key_word)將兩者溝通起來,當(dāng)我們不寫sync時大家可以看到,父的確傳值給子組件了,但是子組件中的okr_owner變化之后并沒有傳給父組件中的key_word,這樣聯(lián)系人組件就接受不到數(shù)據(jù)源,所以我們需要給他加上sync(雙向綁定,父傳子和子傳父),聯(lián)系人組件中的filter才可以生效。

在user-list組件中我們需要遍歷聯(lián)系人列表,filter_key用來傳給該組件,和搜索欄組件一樣,也用props接收一下,并且在里面插入要過濾的內(nèi)容,

filterBy是返回過濾后的數(shù)組,orderBy是排序,前者的使用方法是filterBy 一個key(字段),in xxx 就是指搜索字段,這里需要注意的是in后面跟的必須是obj里面的key,因?yàn)槲覀兊男枨笫峭瑫r保證輸入漢字或者拼音都能查詢,所以in后面跟的是okr_owner和user.u_name(這是vue渲染的數(shù)據(jù),我們展示該聯(lián)系人用的是里面的u_name,okr_owner則為拼音),下面附上數(shù)據(jù)結(jié)構(gòu)。對于在搜索時如何去掉這些字母索引,我們只需要在通訊錄頁面中的<user-list>加入一個字段,然后使用watch來監(jiān)聽一下key_word即可。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 池州市| 库尔勒市| 淳化县| 甘孜| 白朗县| 营山县| 沂南县| 全州县| 瑞昌市| 鄂托克前旗| 长丰县| 新平| 满洲里市| 馆陶县| 大足县| 桐城市| 长子县| 漯河市| 河曲县| 吉安县| 克拉玛依市| 湘潭县| 瑞丽市| 梅河口市| 万源市| 安西县| 新化县| 上思县| 南投县| 溆浦县| 鲜城| 萍乡市| 如皋市| 扬州市| 泸溪县| 如东县| 鸡泽县| 和林格尔县| 西平县| 昆明市| 鄂伦春自治旗|