当前位置:首页 > 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中的富文本展示需求,根据具体场景选择合适的方案。

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

相关文章

vue怎么实现组件缓存

vue怎么实现组件缓存

Vue 实现组件缓存的方法 Vue 提供了内置组件 <keep-alive> 来实现组件缓存,避免重复渲染和销毁组件,提升性能。 基本用法 使用 <keep-alive> 包…

vue radio组件实现

vue radio组件实现

Vue Radio 组件实现 在 Vue 中实现 Radio 组件可以通过原生 HTML 的 <input type="radio"> 结合 Vue 的响应式特性来完成。以下是几种常见的实…

vue组件实现返回

vue组件实现返回

实现返回功能的 Vue 组件方法 监听浏览器返回事件 通过 window.addEventListener('popstate', callback) 监听浏览器返回按钮事件,在回调函数中执行自定义逻…

vue组件实现跳转

vue组件实现跳转

Vue 组件实现跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,以下是常见的几种方法: 使用 router-link 组件 router-link 是 Vue Router 提供的组件,用于…

vue实现组件重叠

vue实现组件重叠

Vue 实现组件重叠的方法 在 Vue 中实现组件重叠通常需要结合 CSS 的定位属性(如 position、z-index)和 Vue 的动态渲染机制。以下是几种常见实现方式: 使用绝对定位(Ab…

vue实现loading组件

vue实现loading组件

Vue 实现 Loading 组件的方法 基础实现方案 创建一个独立的 Loading.vue 组件文件: <template> <div v-if="isLoading" c…