当前位置:首页 > uni-app

uniapp富文本组件

2026-02-06 18:03:46uni-app

uniapp富文本组件使用指南

uniapp提供了多种方式实现富文本渲染,以下是常用的方法和组件:

uni-app内置rich-text组件

uniapp内置的rich-text组件可以解析HTML字符串并渲染为富文本:

<template>
  <rich-text :nodes="htmlString"></rich-text>
</template>

<script>
export default {
  data() {
    return {
      htmlString: '<div style="color: red;">红色文本</div><p>段落文本</p>'
    }
  }
}
</script>

uParse插件方案

对于更复杂的富文本需求,可以使用社区插件uParse:

  1. 安装uParse插件

    npm install @/components/gaoyia-parse
  2. 在页面中使用

    
    <template>
    <gaoyia-parse :content="htmlContent"></gaoyia-parse>
    </template>
import parse from '@/components/gaoyia-parse/parse.vue' export default { components: { 'gaoyia-parse': parse }, data() { return { htmlContent: '

标题

' } } } ```

第三方富文本编辑器集成

对于需要编辑功能的场景,可集成第三方编辑器:

  1. 微信小程序可使用editor组件

    <editor id="editor" @input="onInput"></editor>
  2. H5端可使用wangEditor或Quill

    // 在mounted生命周期中初始化
    mounted() {
    if(process.env.VUE_APP_PLATFORM === 'h5') {
     const editor = new WangEditor('#editor')
     editor.create()
    }
    }

富文本内容安全处理

处理富文本时需注意XSS防护:

// 使用xss过滤库
import xss from 'xss'
const safeHtml = xss(unsafeHtmlString)

图片自适应处理

富文本中的图片需要特殊处理以适应不同屏幕:

/* 全局样式 */
rich-text img {
  max-width: 100%;
  height: auto;
}

平台差异说明

  • 微信小程序:rich-text支持大部分HTML标签
  • H5:完全支持HTML
  • App:部分CSS样式需要额外处理

通过以上方法可以实现uniapp中的富文本展示需求,根据具体场景选择合适的方案。

标签: 组件文本
分享给朋友:

相关文章

uniapp倒计时组件

uniapp倒计时组件

uniapp倒计时组件实现方法 使用内置组件实现 uniapp提供了<countdown>组件用于倒计时功能,支持自定义格式和样式。示例代码如下: <countdown :t…

vue 实现组件刷新

vue 实现组件刷新

组件局部刷新 在Vue中实现组件刷新可以通过强制重新渲染组件来实现。常用的方法有以下几种: 使用v-if指令 通过切换v-if条件触发组件的销毁和重建 <template> <…

react如何删除组件

react如何删除组件

删除 React 组件的几种方法 条件渲染法 通过状态控制组件是否渲染。当状态为 false 时,组件会被移除: const [showComponent, setShowComponent] =…

vue实现递归组件

vue实现递归组件

递归组件的实现方法 在Vue中实现递归组件主要依靠组件调用自身的能力。以下是几种常见的实现方式: 使用组件name属性 通过组件的name属性实现递归调用是最简单的方式: <template…

react如何引入组件

react如何引入组件

引入组件的常见方法 直接导入组件文件 通过import语句从指定路径引入组件文件,适用于项目内自定义组件。假设组件文件位于./components/Button.js: import Button…

vue实现列表组件

vue实现列表组件

Vue 列表组件实现方法 基础列表渲染 使用 v-for 指令渲染数组数据,需配合 :key 提升性能: <template> <ul> <li v-for…