t-text-light
TextLight 高亮文本
组件介绍
t-text-light 是支持关键词高亮显示的文本组件,可以通过指定关键词或正则表达式来高亮匹配的内容,适用于搜索结果显示、敏感词标注等场景。
平台兼容
| Harmony | H5 | Android | iOS | 小程序 | UTS |
|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
基础用法
基础用法参考 demo/text-light/text-light.uvue。
vue
<template>
<view class="text-light-demo">
<!-- 关键词高亮 -->
<t-text-light
text="这是一段需要高亮显示的文本内容"
:patternsValue="['高亮', '文本']">
</t-text-light>
<!-- 自定义高亮颜色 -->
<t-text-light
text="自定义高亮颜色示例"
:patternsValue="['自定义']"
patternsColor="#2979ff">
</t-text-light>
<!-- 正则表达式匹配 -->
<t-text-light
text="电话号码:13800138000,邮箱:test@example.com"
:patternsReg="['\\d{11}', '\\w+@\\w+\\.\\w+']">
</t-text-light>
<!-- 点击选中 -->
<t-text-light
text="点击高亮文字可触发事件"
:patternsValue="['高亮文字']"
@select="onSelect">
</t-text-light>
</view>
</template>
<script setup>
function onSelect(text) {
console.log('选中的文本:', text);
}
</script>
<style scoped>
.text-light-demo {
padding: 40rpx;
}
</style>Props
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
text | 显示的文本内容 | string | '' |
patternsValue | 需要高亮显示的文本数组 | string[] | [] |
patternsReg | 自定义匹配高亮的正则表达式数组 | string[] | [] |
patternsColor | 高亮文本的颜色 | string | '#ff0000' |
path | 点击组件后跳转的页面路径;为空时仅响应事件 | string | '' |
hover | 是否启用点击效果 | boolean | false |
type | 组件主题类型,可选 info、primary、error、warning、success | string | '' |
disabled | 是否禁用 | boolean | false |
effect | 组件显示主题,可选 normal、dark、light、plain | string | '' |
size | 组件尺寸,可选 large、medium、small、mini | string | 'medium' |
Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
click | 点击时触发 | event |
select | 点击高亮文本时触发 | string(选中的文本) |
initFinished | 组件初始化完成触发 | 组件节点信息 |
touchstart | 触摸开始时触发 | event |
touchend | 触摸结束时触发 | event |
touchmove | 触摸移动时触发 | event |
touchcancel | 触摸取消时触发 | event |