@tntx/text-mark

1.0.0 • Public • Published

@tntx/text-mark 文本高亮组件

安装

npm i @tntx/text-mark

如何使用

import React, { useEffect, useRef } from "react";
import ReactDOM from 'react-dom';
import TextMark from "@tntx/text-mark";

const Demo = props => {

    return (
        <>
            <TextMark
				style={{ lineHeight: "28px" }}
				activeIndex={1}
				activeStyle={{ backgroundColor: "#f48f42" }}
				highlightStyle={{ backgroundColor: "#ffd54f" }}
				searchWords={["智能"]}
				textToHighlight="同盾科技是中国智能分析和决策领域领军企业,以人工智能、云计算、大数据三大核心技术体系为基础,基于对数据的探索洞察和深刻理解,将深度学习、联邦学习等领先技术与业务场景深度融合,为金融、保险、互联网、政务、零售、物流等行业提供智能分析与决策服务,赋能并激发客户,帮助客户做出更佳决策。截至目前,累计已有超过一万家客户选择了同盾的产品及服务。"
			/>
			<br />
			<br />
			<TextMark
				style={{ lineHeight: "28px" }}
				activeIndex={1}
				activeClassName="demo-text-mark-active"
				highlightClassName="demo-text-mark-highlight"
				searchWords={["智能"]}
				textToHighlight="同盾科技是中国智能分析和决策领域领军企业,以人工智能、云计算、大数据三大核心技术体系为基础,基于对数据的探索洞察和深刻理解,将深度学习、联邦学习等领先技术与业务场景深度融合,为金融、保险、互联网、政务、零售、物流等行业提供智能分析与决策服务,赋能并激发客户,帮助客户做出更佳决策。截至目前,累计已有超过一万家客户选择了同盾的产品及服务。"
			/>
			<br />
			<TextMark
				style={{ lineHeight: "28px" }}
				activeIndex={1}
				activeClassName="demo-text-mark-active"
				highlightClassName={{
					"智能": "demo-text-mark-highlight",
					"同盾": "demo-text-mark-highlight2"
				}}
				searchWords={["先生", "聪明人"]}
				textToHighlight="同盾科技是中国智能分析和决策领域领军企业,以人工智能、云计算、大数据三大核心技术体系为基础,基于对数据的探索洞察和深刻理解,将深度学习、联邦学习等领先技术与业务场景深度融合,为金融、保险、互联网、政务、零售、物流等行业提供智能分析与决策服务,赋能并激发客户,帮助客户做出更佳决策。截至目前,累计已有超过一万家客户选择了同盾的产品及服务。"
			/>
        </>
    )
};

ReactDOM.render(
    <Demo />,
    document.getElementById('root')
);

API

参数 说明 类型 是否必须 默认值
textToHighlight 需要做关键字高亮的文本 string
searchWords 搜索的关键字,搜索前会转换成正则表达式 Array<string | RegExp>
highlightClassName 高亮状态的 CSS 类名,可以为不同关键字设置不同的类名 string | object
highlightStyle 高亮状态的内联样式 object
activeClassName 选中状态的 CSS 类名 string
activeStyle 选中状态的内联样式 object
activeIndex 选中状态的下标 number
unhighlightClassName 未高亮状态的 CSS 类名 string
unhighlightStyle 未高亮状态的内联样式 object
highlightTag 高亮部分用来渲染的组件 React.ElementType 'mark'
sanitize 关键字和待处理文本预处理函数 (str: string) => string identity
autoEscape 自动转译关键字里的正则特殊字符 boolean false
caseSensitive 关键字匹配时是否区分大小写 boolean false
findChunks 自定义关键字匹配过程 (options) => Array<{start: number; end: number; highlight: boolean;}>
className 自定义组件最外层标签 CSS 类名 string
style 自定义组件最外层内联样式 object

Package Sidebar

Install

npm i @tntx/text-mark

Weekly Downloads

4

Version

1.0.0

License

ISC

Unpacked Size

17.7 kB

Total Files

4

Last publish

Collaborators

  • td-tnt
  • zhouzefei
  • bruceliu68
  • mizy
  • ezios