欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中利用pinyin-pro純前端實現(xiàn)拼音的模糊搜索功能

 更新時間:2022年11月22日 17:01:59   作者:止息  
這篇文章主要介紹了vue中利用pinyin-pro純前端實現(xiàn)拼音的模糊搜索,實現(xiàn)思路很簡單,通過安裝配置插件編寫工具類,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

1、安裝配置插件

pinyin-pro官網(wǎng)網(wǎng)址:

pinyin-pro - npm (npmjs.com)

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}的形式,其他框架中視情況改變定義的辦法

// 輸入框搜索有關(guān)方法

    pinyinFilter (inputValue, totalList) { // 工具類方法,從數(shù)組中過濾出漢字、拼音、拼音首字母相同的項
      /* 輸入內(nèi)容拼音轉(zhuǎn)換 */
      // 完整拼音
      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.調(diào)用方法

筆者使用的是vue,所以在數(shù)據(jù)的調(diào)用前加了this.

this.provinceList = this.pinyinFilter(this.inputProvince, this.totalProvinceList)

到此這篇關(guān)于vue中利用pinyin-pro純前端實現(xiàn)拼音的模糊搜索的文章就介紹到這了,更多相關(guān)vue 模糊搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3中使用ref語法糖的示例代碼

    vue3中使用ref語法糖的示例代碼

    Vue3提了一個Ref?Sugar的RFC,即ref語法糖,目前還處理實驗性的(Experimental)階段,今天通過本文給大家介紹vue3中使用ref語法糖的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • Vue新一代狀態(tài)管理工具Pinia的具體使用

    Vue新一代狀態(tài)管理工具Pinia的具體使用

    本文主要介紹了Vue新一代狀態(tài)管理工具Pinia的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 使用vite構(gòu)建vue3項目的實現(xiàn)步驟

    使用vite構(gòu)建vue3項目的實現(xiàn)步驟

    通過本文,您可以了解如何使用Vue CLI創(chuàng)建Vue 3項目,配置Vite,利用其優(yōu)勢進(jìn)行開發(fā),具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • vue-element-admin登錄攔截設(shè)置白名單方式

    vue-element-admin登錄攔截設(shè)置白名單方式

    這篇文章主要介紹了vue-element-admin登錄攔截設(shè)置白名單方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 解析VUE中nextTick是什么

    解析VUE中nextTick是什么

    nextTick是Vue提供的一個全局API,由于Vue的異步更新策略導(dǎo)致我們對數(shù)據(jù)的修改不會立刻體現(xiàn),在DOM變化上,此時如果想要立即獲取更新后的DOM狀態(tài),就需要使用這個方法,這篇文章主要介紹了解析VUE中nextTick,需要的朋友可以參考下
    2022-11-11
  • 詳解vue父子組件關(guān)于模態(tài)框狀態(tài)的綁定方案

    詳解vue父子組件關(guān)于模態(tài)框狀態(tài)的綁定方案

    這篇文章主要介紹了詳解vue父子組件關(guān)于模態(tài)框狀態(tài)的綁定方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Vue.js中的computed功能設(shè)計

    Vue.js中的computed功能設(shè)計

    computed作為計算屬性其作用是描述響應(yīng)式數(shù)據(jù)的復(fù)雜邏輯計算,當(dāng)所依賴的響應(yīng)式數(shù)據(jù)發(fā)生改變時計算屬性會重新計算,更新邏輯計算的結(jié)果,這篇文章主要介紹了Vue.js中的computed的功能設(shè)計,需要的朋友可以參考下
    2023-06-06
  • 如何用webpack4帶你實現(xiàn)一個vue的打包的項目

    如何用webpack4帶你實現(xiàn)一個vue的打包的項目

    這篇文章主要介紹了如何用webpack4帶你實現(xiàn)一個vue的打包的項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Vue3源碼解讀computed和watch

    Vue3源碼解讀computed和watch

    這篇文章主要為大家介紹了Vue3中的computed和watch源碼解讀分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Vue2.x和Vue3.x的雙向綁定原理詳解

    Vue2.x和Vue3.x的雙向綁定原理詳解

    這篇文章主要給大家介紹了關(guān)于Vue2.x和Vue3.x的雙向綁定原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論