# Highlight 高亮文本
高亮指定文本内容。
# 引入
import PressHighlight from 'press-ui/press-highlight/press-highlight.vue';
export default {
components: {
PressHighlight,
}
}
# 代码演示
# 基础用法
你可以通过 keywords
指定需要高亮的关键字,通过 source-string
指定源文本。
<press-highlight :keywords="keywords" :source-string="text" />
export default {
setup() {
const text = '慢慢来,不要急,生活给你出了难题,可也终有一天会给出答案。';
const keywords = '难题';
return {
text,
keywords,
};
},
};
# 多字符匹配
如果需要指定多个关键字,可以以数组的形式传入 keywords
。
<press-highlight :keywords="keywords" :source-string="text" />
export default {
setup() {
const text = '慢慢来,不要急,生活给你出了难题,可也终有一天会给出答案。';
const keywords = ['难题', '终有一天', '答案'];
return {
text,
keywords,
};
},
};
# 设置高亮标签类名
通过 highlight-class
可以设置高亮标签的类名,以便自定义样式。
<press-highlight
:keywords="keywords"
:source-string="text"
highlight-class="custom-class"
/>
export default {
setup() {
const text = '慢慢来,不要急,生活给你出了难题,可也终有一天会给出答案。';
const keywords = '生活';
return {
text,
keywords,
};
},
};
.custom-class {
color: red;
}
# API
# Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
auto-escape | 是否自动转义 | boolean | true |
case-sensitive | 是否区分大小写 | boolean | false |
highlight-class | 高亮元素的类名 | string | - |
highlight-tag | 高亮元素对应的 HTML 标签名 | string | span |
keywords | 期望高亮的文本 | string | string[] | - |
source-string | 源文本 | string | - |
tag | 根节点对应的 HTML 标签名 | string | div |
unhighlight-class | 非高亮元素的类名 | string | - |
unhighlight-tag | 非高亮元素对应的 HTML 标签名 | string | span |
# 主题定制
# 样式变量
组件提供了下列 CSS 变量,可用于自定义样式。
名称 | 默认值 | 描述 |
---|---|---|
--press-highlight-tag-color | var(--press-primary-color) | 高亮文本颜色 |
← Fab ImagePreview →