淡语

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

vue中vxe-table根据关键字文本内容高亮

效果:

 

 

代码:

①为table的vxe-table-column添加属性type="html"

1             <vxe-table-column field="openId" title="开放编号" min-width="150" align="left" header-align="center" sortable>
2             </vxe-table-column>
3             <vxe-table-column field="cardId" type="html" title="会员卡号" min-width="150" align="left" header-align="center" sortable>
4             </vxe-table-column>
5             <vxe-table-column field="nickName" type="html" title="会员昵称" min-width="150" align="left" header-align="center" sortable>
6             </vxe-table-column>

②添加代码高亮方法

1 highlightKeyword(val,keyword) {//高亮关键字
2         if (val.indexOf(keyword) !== -1) {
3           return val.replace(keyword, `<b style='color:#F86205;" style="color: rgb(255, 0, 0);">#ff0'>${keyword}</b>`)
4         } else {
5           return val
6         }
7       }

③查询结果根据关键字给json插入html标签

复制代码
 1 listEntity(this.queryParams).then(response => {
 2             this.tableList = response.rows
 3 
 4             //根据关键字高亮显示
 5             if(this.queryParams.keyword_LIKE.trim() !== ""){
 6               let keyword = this.queryParams.keyword_LIKE;
 7               this.tableList.forEach((item) => {
 8                 if ((item.cardId||"").indexOf(this.queryParams.keyword_LIKE) > -1) {
 9                   item.cardId = this.highlightKeyword(item.cardId,keyword)
10                 }
11                 if ((item.nickName||"").indexOf(this.queryParams.keyword_LIKE) > -1) {
12                   item.nickName = this.highlightKeyword(item.nickName,keyword)
13                 }
14                 if ((item.phone||"").indexOf(this.queryParams.keyword_LIKE) > -1) {
15                   item.phone = this.highlightKeyword(item.phone,keyword)
16                 }
17                 if ((item.address||"").indexOf(this.queryParams.keyword_LIKE) > -1) {
18                   item.address = this.highlightKeyword(item.address,keyword)
19                 }
20               })
21             }
22 
23             this.total = response.total
24             this.loading = false
25           })
复制代码

 

posted on   object360  阅读(1199)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示