成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue3 中如何做高性能的拼音搜索,提高用戶體驗(yàn)?

開(kāi)發(fā) 前端
根據(jù)觀察,我發(fā)現(xiàn)我這個(gè)頁(yè)面的十幾個(gè)下拉框其實(shí)都有很多下拉項(xiàng)是相同的,這意味著,有一些項(xiàng)存在重復(fù)翻譯的問(wèn)題。就比如這個(gè)“放米”,options1翻譯過(guò)一遍了,options2還翻譯一遍,這就導(dǎo)致了性能損耗。

下拉框搜索

最近頁(yè)面中需要一個(gè)下拉框,并且支持搜索功能(搜索選項(xiàng)文本和拼音),這是一個(gè)挺普通的小功能,代碼如下:

request.ts 先準(zhǔn)備一些假的下拉框數(shù)據(jù),并模擬請(qǐng)求:

圖片圖片

Index.vue 中進(jìn)行請(qǐng)求,并渲染下拉框,配置一些屬性,支持搜索選項(xiàng)文本:

圖片圖片

可以看到實(shí)現(xiàn)了搜索文本,但是產(chǎn)品說(shuō)還得支持搜索拼音呢~可以看到當(dāng)前是不支持搜索拼音的。

圖片圖片

拼音搜索

拼音搜索其實(shí)也不難,用一些庫(kù)即可,比如 pinyin-pro。

pnpm i pinyin-pro

我可以使用 pinyin-pro 這個(gè)庫(kù),在獲取數(shù)據(jù)的時(shí)候?yàn)槊恳豁?xiàng)的文本進(jìn)行拼音翻譯,并放到字段 keywords 中。

圖片圖片

現(xiàn)在可以看到每一項(xiàng)都有一個(gè) keywords 字段,里面存了每一項(xiàng)的文本和拼音。

圖片圖片

接著,在頁(yè)面中配置一下 Select 的搜索過(guò)濾函數(shù)。

圖片圖片

現(xiàn)在就支持了文本搜索和拼音搜索了。

圖片圖片

多個(gè)下拉框拼音搜索

上面例子是只有一個(gè),那如果有多個(gè)下拉框呢?比如有兩個(gè)下拉框,我準(zhǔn)備了兩個(gè)下拉框的假數(shù)據(jù)。

圖片圖片

接著在頁(yè)面中展示兩個(gè)下拉框:

圖片圖片

可以看到兩個(gè)下拉框的拼音數(shù)據(jù)耗時(shí)情況,其實(shí)當(dāng)時(shí)頁(yè)面上不止兩個(gè)下拉框,大概有十幾個(gè)下拉框,且數(shù)據(jù)都很巨大,如果每一個(gè)下拉框都要接近200ms的耗時(shí)的話,那用戶體驗(yàn)會(huì)很不好。

圖片圖片

性能優(yōu)化

根據(jù)觀察,我發(fā)現(xiàn)我這個(gè)頁(yè)面的十幾個(gè)下拉框其實(shí)都有很多下拉項(xiàng)是相同的,這意味著,有一些項(xiàng)存在重復(fù)翻譯的問(wèn)題。

就比如這個(gè)“放米”,options1翻譯過(guò)一遍了,options2還翻譯一遍,這就導(dǎo)致了性能損耗。

圖片圖片

所以其實(shí)可以使用緩存來(lái)進(jìn)行優(yōu)化,思路就是:

1、準(zhǔn)備一個(gè)對(duì)象,key 是文本,value 是拼音

2、每次翻譯的時(shí)候

先檢測(cè)對(duì)象里是否能匹配到。

能匹配到直接用,不能匹配到才調(diào)用 pinyin-pro 進(jìn)行翻譯。

圖片圖片

這樣的話,能避免文本的重復(fù)翻譯,從而提升性能,由于 options2 有很多跟 options1 相同的項(xiàng),所以 options2 很多項(xiàng)的翻譯都是直接取緩存的,數(shù)據(jù)處理的速度大大提升!

圖片圖片

其實(shí)這種方式也是有局限性的,如果每一個(gè) options 的數(shù)據(jù)重合度都不高的話,那么這種優(yōu)化方式也就沒(méi)啥意義了

所以最好的方式還是叫后端翻譯好拼音,傳給前端。

類似的場(chǎng)景

其實(shí)不止是上面舉的例子,還有其他項(xiàng)目中類似的場(chǎng)景,需要用到這種優(yōu)化方式,比如:復(fù)雜的翻譯、復(fù)雜的數(shù)據(jù)處理。

例子終究是例子,重要的是能舉一反三。

責(zé)任編輯:武曉燕 來(lái)源: 前端之神
相關(guān)推薦

2021-05-18 07:51:37

Suspense組件Vue3

2022-08-03 09:11:31

React性能優(yōu)化

2012-01-11 15:15:59

用戶體驗(yàn)高性能

2023-01-18 23:52:07

RTA用戶粒度運(yùn)營(yíng)

2020-12-22 10:22:12

QQ運(yùn)動(dòng)騰訊用戶

2022-07-20 11:13:05

前端JSONVue3

2023-11-28 09:03:59

Vue.jsJavaScript

2012-05-07 08:49:57

Clojure

2013-04-22 10:34:46

用戶體驗(yàn)設(shè)計(jì)UED認(rèn)知負(fù)荷

2025-06-12 02:22:00

Netflix前端系統(tǒng)

2024-06-20 12:17:17

前端Vue3

2021-12-02 05:50:35

Vue3 插件Vue應(yīng)用

2025-05-06 08:30:00

2016-09-01 09:39:20

攜程無(wú)線

2021-12-08 09:09:33

Vue 3 Computed Vue2

2021-09-18 15:40:03

Vue單元測(cè)試命令

2019-09-19 16:59:04

數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)

2025-03-31 01:55:00

2015-11-16 10:21:28

Java中鎖性能

2021-12-01 08:11:44

Vue3 插件Vue應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品不卡一区 | 日本不卡一区 | 中文在线一区二区 | 国产a区| 无吗视频 | 免费一区 | 国产精品视频免费看 | 九九热re| 欧美激情亚洲天堂 | 黄视频免费观看 | 国产精品成人一区二区 | 狠狠的干 | 欧美二区在线 | 精品成人在线观看 | 久久精品久久久 | 成人欧美一区二区三区视频xxx | 日本精品视频 | 超碰免费在 | 国产网站久久 | 日本一区精品 | 国产在线视频一区二区 | 日韩精品在线观看免费 | 色免费在线视频 | 国产不卡一 | 国产高清精品在线 | 国产一区2区 | 日韩毛片网 | 成人在线视频免费观看 | 亚洲毛片在线观看 | 影音av| 精品国产一区二区三区久久久四川 | 久久久久久成人 | 欧美日一区| 羞羞网站在线观看 | 狠狠的干 | 国产精品高清在线 | 免费国产视频 | 日韩国产精品一区二区三区 | 日韩欧美一级精品久久 | 亚洲免费视频在线观看 | 国产精品成人国产乱一区 |