如何将API获取的文本内容转换渲染为指定样式的text标签
你当前的{value.content}插值写法只会将接口返回的markdown内容作为纯文本输出,不会解析格式标签,要实现富文本渲染按以下步骤操作:
第一步:安装适配技术栈的markdown解析工具
如果是React/H5项目,推荐使用react-markdown,安装命令:npm install react-markdown
如果是微信小程序项目,推荐使用mp-html或towxml,可通过npm安装或直接下载源码导入项目。第二步:替换原有渲染逻辑
React项目代码示例:import ReactMarkdown from 'react-markdown' // 渲染部分替换原text标签 <ReactMarkdown components={{ // 可自定义不同markdown标签对应的样式 p: (props) => <p style={{letterSpacing: '30', wordBreak: 'keep-all'}} {...props} />, h1: (props) => <h1 style={{fontSize: '24px', fontWeight: 'bold', margin: '12px 0'}} {...props} />, li: (props) => <li style={{marginLeft: '20px'}} {...props} /> }} > {value.content} </ReactMarkdown>微信小程序(以mp-html为例)代码示例:
先在页面对应的json文件中注册组件:{ "usingComponents": { "mp-html": "/components/mp-html/index" } }在wxml文件中渲染:
<mp-html content="{{value.content}}" style="letter-spacing:30rpx;word-break:keep-all;" />
提示:如果返回的content中包含自定义HTML标签,需要开启对应解析库的HTML支持开关,同时配置XSS过滤规则,避免恶意脚本注入风险。
内容的提问来源于stack exchange,提问作者권Sancho
相关产品推荐
相关产品推荐

