vue中利用pinyin-pro純前端實現(xiàn)拼音的模糊搜索功能
更新時間:2022年11月22日 17:01:59 作者:止息
這篇文章主要介紹了vue中利用pinyin-pro純前端實現(xiàn)拼音的模糊搜索,實現(xiàn)思路很簡單,通過安裝配置插件編寫工具類,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
1、安裝配置插件
pinyin-pro官網(wǎng)網(wǎng)址:
npm 安裝
npm install pinyin-pro
項目中引入
import { pinyin } from 'pinyin-pro';2.編寫工具類方法
定義三個變量:
// 雙向綁定搜索框,由用戶輸入的數(shù)據(jù)
inputProvince: 'ninxia',
// 從后臺獲取的,篩選前的總數(shù)據(jù)
totalProvinceList: [
{ province: '寧夏省',id:'0001', turnover: '50' },
.....
],// 由inputProvince從totalProvence中篩選后的數(shù)據(jù),雙向綁定列表 provinceList: [],
編寫方法:
在vue中定義方法用的是mehtod(){return 0}的形式,其他框架中視情況改變定義的辦法
// 輸入框搜索有關方法
pinyinFilter (inputValue, totalList) { // 工具類方法,從數(shù)組中過濾出漢字、拼音、拼音首字母相同的項
/* 輸入內容拼音轉換 */
// 完整拼音
const pyInput = pinyin(inputValue, { toneType: 'none', type: 'array' }).join('')
console.log('pyInput', pyInput)
// 拼音首字母
const headerPyInput = pinyin(inputValue, { pattern: 'first', type: 'array' }).join('')
console.log('headerPyInput', headerPyInput)
return totalList.filter(e => {
// 列表中每項的拼音
const pyE = pinyin(e.province, { toneType: 'none', type: 'array' }).join('').slice(0, pyInput.length)
console.log('pyE', pyE)
// 列表中每項的拼音首字母
const headerPyE = pinyin(e.province, { pattern: 'first', type: 'array' }).join('').slice(0, headerPyInput.length)
console.log('headerPyE', headerPyE)
console.log('_____________________')
// 過濾匹配
return e.province.includes(inputValue) || (pyE === pyInput) || (headerPyE === headerPyInput)
})
},3.調用方法
筆者使用的是vue,所以在數(shù)據(jù)的調用前加了this.
this.provinceList = this.pinyinFilter(this.inputProvince, this.totalProvinceList)
到此這篇關于vue中利用pinyin-pro純前端實現(xiàn)拼音的模糊搜索的文章就介紹到這了,更多相關vue 模糊搜索內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:

