当前位置: 首页 > ai >正文

【React】搜索时高亮被搜索选中的文案

文章目录

    • 代码实现

代码实现

函数封装:

export function highlightKeyword(input: string, keyword: string | undefined) {if (!keyword || !input || !input.includes(keyword)) return input;const startIndex = input.indexOf(keyword);return React.createElement('span', null, [input.substring(0, startIndex),React.createElement('span',{style: {backgroundColor: 'rgba(255, 255, 0, 0.8)',color: 'black',},},keyword,),input.substring(startIndex + keyword.length),]);
}

使用案例:

import React from 'react';
import { Tree } from 'antd';const { DirectoryTree } = Tree;const treeData = [{title: '目录1',key: '1',children: [{ title: '目标目录', key: '1-1' }, // 此节点名称会显示为红色{ title: '子目录2', key: '1-2' },],},{title: '目录2',key: '2',},
];const App = () => {const [searchText, setSearchText] = useState('')return <div><Input placeholder="请输入搜索文案" onChange={(e)=>setSearchText(e.target.value)} /><DirectoryTreetreeData={treeData}titleRender={(nodeData) => {return (<span style={{ color: isMatched ? 'red' : 'inherit' }}>{searchText ? highlightKeyword(nodeData.title, searchText) : nodeData.title}</span>);}}/></div>
};export default App;
http://www.xdnf.cn/news/768.html

相关文章:

  • 大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署--完结
  • TensorFlow和PyTorch学习原理解析
  • 掌握常见 HTTP 方法:GET、POST、PUT 到 CONNECT 全面梳理
  • FreeRTos学习记录--2.内存管理
  • 华为云获取IAM用户Token的方式及适用分析
  • 潞晨科技将暂停DeepSeek API服务,AI大模型技术红利普惠化与市场竞争白热化叠加,内卷恶果,开始显现!
  • 在线查看【免费】 dcm、drawio,dcm wps文件格式网站
  • Spring Boot集成Keycloak
  • 颠覆传统!毫秒级响应的跨平台文件同步革命,远程访问如本地操作般丝滑
  • 从“堆料竞赛”到“体验深耕”,X200 Ultra和X200s打响手机价值升维战
  • 【锂电池容量特征提取】NASA数据集锂电池容量特征提取(Matlab完整源码)
  • Java中 关于编译(Compilation)、类加载(Class Loading) 和 运行(Execution)的详细区别解析
  • Linux网络编程 多进程UDP聊天室:共享内存与多进程间通信实战解析
  • 四元数转旋转矩阵
  • 极狐GitLab CEO 柳钢受邀出席 2025 全球机器学习技术大会
  • Halcon应用:相机标定之应用
  • Shell脚本-变量的分类
  • 使用c++调用deepseek的api(附带源码)
  • 深度解析算法之位运算
  • 突破传统!SEARCH-R1如何让LLM与搜索引擎协同推理?
  • 使用SystemWeaver生成SOME/IP ETS ARXML的完整实战指南
  • FastGPT Docker Compose本地部署与硅基流动免费AI接口集成指南
  • Kubernetes相关的名词解释Metrics Server组件(7)
  • IPv4地址分类与常用网络地址详解
  • 基于Spring AI Alibaba实现MCP-Stdio的全栈解析与实践指南
  • Vue常用指令入门
  • 【NLP 60、实践 ⑭ 使用bpe构建词表】
  • SMTP发送邮件
  • 【C++单调栈向量】3288最长上升路径的长度|2449
  • 2025-4-20-C++ 学习 数组(1)