spz-markdown Markdown 渲染
将 Markdown 格式文本实时渲染为带样式的 HTML 内容
布局
布局
跳转到“布局”何时使用
跳转到“何时使用”- 需要将 Markdown 格式的文本内容渲染为 HTML 展示给用户。
- 文章详情、商品描述等内容由后端以 Markdown 字符串下发,需要在前端解析并渲染。
- 需要混合使用 Markdown 和原生 HTML 片段,对部分内容跳过 Markdown 解析。
代码演示
跳转到“代码演示”基本用法
跳转到“基本用法”通过 text 属性传入 Markdown 字符串,组件会自动解析并渲染为 HTML。支持标题、粗体、斜体、列表、行内代码、代码块、链接和水平线等常用 Markdown 语法。
<spz-markdown
id="spz-markdown-base"
layout="container"
text=""
></spz-markdown>
<script>
(function () {
var el = document.getElementById('spz-markdown-base');
if (el) {
el.setAttribute('text', [
'## spz-markdown 示例',
'',
'支持常见 Markdown 语法,包括**标题**、列表和行内代码。',
'',
'### 无序列表',
'',
'- 条目一',
'- 条目二',
'- 条目三',
'',
'### 有序列表',
'',
'1. 第一步',
'2. 第二步',
'3. 第三步',
'',
'使用 `行内代码` 可以高亮关键词。'
].join('\n'));
}
})();
</script>
跳过部分内容解析
跳转到“跳过部分内容解析”对组件内部的子元素添加 markdown-ignore 属性,可以使该子元素保留原始 HTML 内容,不被 Markdown 解析器处理。
这段内容带有 markdown-ignore 属性,HTML 标签会原样保留,不会被 Markdown 解析器处理。
<spz-markdown layout="container" text="# 混合内容示例
这段文字会被 Markdown **解析**渲染。">
<div markdown-ignore class="raw-html-block">
<p>这段内容带有 <code>markdown-ignore</code> 属性,<strong>HTML 标签</strong>会原样保留,不会被 Markdown 解析器处理。</p>
</div>
</spz-markdown>
属性
跳转到“属性”| 属性名 | 说明 | 类型 | 默认值 | 是否必需 |
|---|---|---|---|---|
| layout | 布局方式,必须设置为 container |
string | container |
是 |
| text | 要渲染的 Markdown 字符串,支持动态绑定 | string | - | 否 |
| markdown-ignore | 设置在子元素上,标识该子元素不进行 Markdown 转换,原样保留其 HTML 内容 | - | - | 否 |