這次帶給大家微信小程式開發(fā)中怎樣實(shí)現(xiàn)搜尋內(nèi)容高亮功能,微信小程式開發(fā)中怎樣實(shí)現(xiàn)搜尋內(nèi)容高亮功能的注意事項(xiàng)有哪些,以下就是實(shí)戰(zhàn)案例,一起來(lái)看一下。
需求
最近在做微信小程式的時(shí)候,需要實(shí)現(xiàn)在搜尋框的輸入內(nèi)容的時(shí)候?qū)崿F(xiàn)全域匹配實(shí)現(xiàn)高亮效果,目前的思路是,遞歸後臺(tái)來(lái)傳回的數(shù)據(jù),並將物件的value值替換為需要的dom節(jié)點(diǎn),並且透過(guò)rich-text來(lái)實(shí)現(xiàn),高亮效果。
程式碼
wxml:
<view class='homePage'> ??<input bindinput="bindKeyInput"></input> ??<view wx:for="{{newJson}}" wx:for-item='item' wx:key> ????<rich-text nodes="{{item.name}}"></rich-text>?? ????<rich-text nodes="{{item.address}}"></rich-text>?? ????<rich-text nodes="{{item.age}}"></rich-text> ????<view wx:if="{{item.aihao}}" wx:for="{{item.aihao}}" wx:for-item='sitem' wx:key> ??????<rich-text nodes="{{sitem}}"></rich-text>?? ????</view> ??</view> </view>
js:
//index.js const?app?=?getApp() Page({ ??data:?{ ????json:?[{?name:?'eiolewkfp',?age:?'awdqwwdk',?address:?'aueifwhefwfheffoewjowef',aihao:['sdsd','sdfsd','sdsf']},?{?name:?'98797',?age:?'6544656',?address:?'65494364'?}],?//?可以是任何類型的數(shù)據(jù) ????newJson:?'', ????tempText:'' ??}, ??onLoad:?function?(options)?{ ????this.setData({ ??????newJson:this.data.json ????}) ??}, ??digui:?function?(newJson,obj,key)?{?//?遞歸方法,來(lái)遍歷最內(nèi)層的字符串并通過(guò)正則來(lái)替換 ????var?that?=?this; ????var?reg?=?new?RegExp(that.data.tempText,'g'); ????if?(newJson.constructor?==?Array)?{? ??????newJson.forEach(function?(item,index)?{ ????????if?(item.constructor?==?String){ ??????????obj[key].splice(index,?1,?item.replace(reg,?"<span style='color:red'>"?+?that.data.tempText?+?"</span>")) ????????}else{ ??????????that.digui(item,?newJson); ????????} ??????}); ????}?else?if?(newJson.constructor?==?Object)?{ ??????var?json?=?{}; ??????for?(var?key?in?newJson)?{ ????????json[key]?=?newJson; ????????that.digui(newJson[key],newJson,key); ??????} ????}?else?if?(newJson.constructor?==?String)?{?//?這里做全局替換 ??????if(key){ ????????obj[key]?=?newJson.replace(reg,?"<span style='color:red'>"?+?that.data.tempText?+?"</span>") ??????} ????} ??}, ??bindKeyInput:?function?(e)?{?//?每次輸入來(lái)監(jiān)聽(tīng)鍵盤,處理匹配的數(shù)據(jù) ????var?text?=?e.detail.value; ????this.setData({ ??????tempText:text ????}) ????var?newJson?=?JSON.parse(JSON.stringify(this.data.json));?//?實(shí)現(xiàn)深復(fù)制 ???? ????this.digui(newJson); ????this.setData({ ??????newJson:newJson ????}) ??} })
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
推薦閱讀:
以上是微信小程式開發(fā)中怎樣實(shí)現(xiàn)搜尋內(nèi)容高亮功能的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

閒魚官方微信小程式悄悄上線,在小程式中可以發(fā)布閒置與買家/賣家私訊交流、查看個(gè)人資料及訂單、搜尋物品等,有用好奇閒魚微信小程式叫什麼,現(xiàn)在快來(lái)看一下。閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價(jià)回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個(gè)人資料及訂單、搜尋指定物品等功能;2、在小程式的頁(yè)面中有首頁(yè)、附近、發(fā)閒置、訊息、我的5項(xiàng)功能;3、想要使用的話必要要開通微信支付才可以購(gòu)買;

實(shí)現(xiàn)微信小程式中的圖片濾鏡效果隨著社群媒體應(yīng)用程式的流行,人們?cè)絹?lái)越喜歡在照片中應(yīng)用濾鏡效果,以增強(qiáng)照片的藝術(shù)效果和吸引力。在微信小程式中也可以實(shí)現(xiàn)圖片濾鏡效果,為使用者提供更多有趣和創(chuàng)意的照片編輯功能。本文將介紹如何在微信小程式中實(shí)現(xiàn)圖片濾鏡效果,並提供具體的程式碼範(fàn)例。首先,我們需要在微信小程式中使用canvas元件來(lái)載入和編輯圖片。 canvas元件可以在頁(yè)面

實(shí)現(xiàn)微信小程式中的下拉式選單效果,需要具體程式碼範(fàn)例隨著行動(dòng)互聯(lián)網(wǎng)的普及,微信小程式成為了網(wǎng)路開發(fā)的重要一環(huán),越來(lái)越多的人開始關(guān)注和使用微信小程式。微信小程式的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡(jiǎn)單快捷,但也需要掌握一定的開發(fā)技巧。在微信小程式的開發(fā)中,下拉式選單是一個(gè)常見(jiàn)的UI元件,實(shí)現(xiàn)了更好的使用者操作體驗(yàn)。本文將詳細(xì)介紹如何在微信小程式中實(shí)現(xiàn)下拉式選單效果,並提供具

閒魚官方微信小程式已經(jīng)悄悄上線,它為用戶提供了一個(gè)便捷的平臺(tái),讓你可以輕鬆地發(fā)布和交易閒置物品。在小程式中,你可以與買家或賣家進(jìn)行私訊交流,查看個(gè)人資料和訂單,以及搜尋你想要的物品。那麼閒魚在微信小程式中究竟叫什麼呢,這篇教學(xué)攻略將為您詳細(xì)介紹,想要了解的用戶們快來(lái)跟著本文繼續(xù)閱讀吧!閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價(jià)回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個(gè)人資料及訂單、搜尋指定物品等功能;2、在小程式的頁(yè)面中有首頁(yè)、附近、發(fā)閒置、訊息、我的5項(xiàng)功能;3、

微信小程式實(shí)現(xiàn)圖片上傳功能隨著行動(dòng)網(wǎng)路的發(fā)展,微信小程式已經(jīng)成為了人們生活中不可或缺的一部分。微信小程式不僅提供了豐富的應(yīng)用場(chǎng)景,還支援開發(fā)者自訂功能,其中包括圖片上傳功能。本文將介紹如何在微信小程式中實(shí)作圖片上傳功能,並提供具體的程式碼範(fàn)例。一、前期準(zhǔn)備工作在開始編寫程式碼之前,我們需要先下載並安裝微信開發(fā)者工具,並註冊(cè)成為微信開發(fā)者。同時(shí),也需要了解微信

實(shí)現(xiàn)微信小程式中的圖片旋轉(zhuǎn)效果,需要具體程式碼範(fàn)例微信小程式是一種輕量級(jí)的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗(yàn)。在小程式中,開發(fā)者可以利用各種元件和API來(lái)實(shí)現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見(jiàn)的動(dòng)畫效果,可以為小程式增添趣味性和視覺(jué)效果。在微信小程式中實(shí)作圖片旋轉(zhuǎn)效果,需要使用小程式提供的動(dòng)畫API。以下是一個(gè)具體的程式碼範(fàn)例,展示如何在小程

使用微信小程式實(shí)現(xiàn)輪播圖切換效果微信小程式是一種輕量級(jí)的應(yīng)用程序,具有簡(jiǎn)單、高效的開發(fā)和使用特點(diǎn)。在微信小程式中,實(shí)作輪播圖切換效果是常見(jiàn)的需求。本文將介紹如何使用微信小程式實(shí)現(xiàn)輪播圖切換效果,並給出具體的程式碼範(fàn)例。首先,在微信小程式的頁(yè)面檔案中,新增一個(gè)輪播圖元件。例如,可以使用<swiper>標(biāo)籤來(lái)實(shí)現(xiàn)輪播圖的切換效果。在該組件中,可以透過(guò)b

實(shí)作微信小程式中的滑動(dòng)刪除功能,需要具體程式碼範(fàn)例隨著微信小程式的流行,開發(fā)者在開發(fā)過(guò)程中經(jīng)常會(huì)遇到一些常見(jiàn)功能的實(shí)作問(wèn)題。其中,滑動(dòng)刪除功能是常見(jiàn)、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程式中實(shí)現(xiàn)滑動(dòng)刪除功能,並給出具體的程式碼範(fàn)例。一、需求分析在微信小程式中,滑動(dòng)刪除功能的實(shí)作涉及以下要點(diǎn):列表展示:要顯示可滑動(dòng)刪除的列表,每個(gè)列表項(xiàng)目需要包
