uni-app中使用富文本rich-text个人经验

rich-text是在uni-app一个内置组件,用于高性能地渲染富文本内容。先贴一下官方的属性列表:

uni-app富文本rich-text

先说一下“selectable” 长按选择区域复制,这个我在APP项目中 不起作用,可能像文档说的,只支持“百度小程序”吧。在APP端起作用的话,可以做如下修改,在样式中添加下面样式代码

.content-select-copy {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

模板中调用的时候加上面样式

 <view class="content-select-copy" >
     <rich-text :selectable='true'   :nodes="content"   @itemclick="handleRichText"></rich-text>
</view>

这样就可以在APP端实现长按选择区域复制了。

然后再说一下事件处理itemclick,我们可以使用这个事件实现对rich-text里面的节点内容进行处理,不过只能处理a和img标签,这个上面官方文档已经说明。

使用示例:

比如要对富文本内容中的所有链接跳

### UniApp `rich-text` 组件使用教程 #### 一、基础介绍 `rich-text` 是用于展示富文本内容的组件,在不同平台上的表现可能会有所差异。此组件支持 HTML 片段作为输入并将其渲染成相应的视图结构。 #### 二、属性说明 - **nodes**: 接收要渲染的内容字符串或对象数组,可以是纯文本也可以包含标签。 - **space**: 设置节点间的间距,默认值为'normal';可选参数有 'ems', 表示按照 em 单位来设置间距大小[^1]。 #### 三、样式应用技巧 对于某些特定场景下遇到的样式问题,比如内联样式的失效情况,可以通过全局配置过滤器的方式给指定标签添加额外 CSS 类名来进行样式覆盖: ```javascript export function richTxtFilter(content) { if (!content) return ''; let val; // 替换 p 标签为其加上自定义类名 "rich-txt-p" val = content.replace(/<p/gi, '<p class="rich-txt-p"'); return val; } ``` 上述代码片段展示了如何通过正则表达式替换原有 `<p>` 开始标记,从而达到为目标元素附加新类的效果[^3]。 #### 四、跨平台兼容性注意事项 由于各平台对原生能力的支持程度不尽相同,因此在开发过程中需要注意测试各个目标环境下的行为一致性。例如,在百度小程序中可能出现无法正确解析HTML的情况,此时建议检查是否有特殊字符未被转义等问题存在[^4]。 #### 五、多媒体资源加载失败处理 当发现图片或其他媒体文件未能成功显示时,应确认这些外部链接是否能够正常访问以及路径是否正确无误。另外还需注意部分框架版本可能存在已知缺陷影响到此类功能正常使用,及时更新至最新稳定版往往能解决问题所在[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walk walk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值