首页 > 其他分享 >鸿蒙 next 使用并封装富文本 hp-richtext

鸿蒙 next 使用并封装富文本 hp-richtext

时间:2024-11-14 08:58:27浏览次数:1  
标签:cbwe hp richtext content richTextOption tempValue imgType next com

鸿蒙 next 使用并封装富文本 hp-richtext
使用鸿蒙第三方富文本(https://ohpm.openharmony.cn/#/cn/detail/@ohasasugar%2Fhp-richtext) , 并再将其包一层实现自己的富文本组件,这样的好处是以后可以自己再里面添加一下逻辑,或者以后可以更换成其他的富文本组件。

import { HPRichText, RichTextOption } from '@ohasasugar/hp-richtext';
import { LogUtil } from '../../../common/utils/LogUtil';

type ImgType = 'heightLimit' | 'widthLimit' | 'maxWidth'

@Component
export struct QuesRichText {
@Prop @Watch('onUpdate') fontSize: number = 16;
@Prop @Watch('onUpdate') fontColor: string = "#FF465069";
@Prop @Watch('onUpdate') richContent: string = '';
@Consume @Watch('onUpdate') scaleTextStyle: number;
@State richTextOption: RichTextOption = {
content: ``,
baseFontSize: 0,
baseFontColor: ''
}; // 富文本对象
@State realContent: string = '';
@State imgType: ImgType = 'widthLimit';

onUpdate() {
this.richTextOption =
{
content: this.getRichContent(this.richContent),
baseFontSize: this.fontSize * this.scaleTextStyle,
baseFontColor: this.fontColor,
};
}

aboutToAppear() {
this.onUpdate()
}

// aboutToAppear(): void {
// cbwe.62nsfs.com,cbwe.jinduoceramics.com,cbwe.shuixitech.com
//cbwe.huanbao580.com,cbwe.szlcdpq.com
// this.realContent = this.richTextOption.content;
// if (this.imgType == 'widthLimit') {
// this.richTextOption.content =
// this.richTextOption.content.replace(/<img/g, '<img style="width: 160vp;height: auto;"')
// } else if (this.imgType == 'heightLimit') {
// this.richTextOption.content =
// this.richTextOption.content.replace(/<img/g, '<img style="width: auto;height: 65vp;"')
// } else if (this.imgType == 'maxWidth') {
// // 看了HPRichText的源码-不支持max-width属性, 但是可以用 constraintSize 实现
// this.richTextOption.content =
// this.richTextOption.content.replace(/<img/g, '<img style="max-width: 100vp"')
// }
// }

getRichContent(value: string) {
let tempValue = value;
if (this.imgType == 'widthLimit') {
tempValue =
tempValue.replace(/<img/g, '<img style="width: 160vp;height: auto;"')
} else if (this.imgType == 'heightLimit') {
tempValue =
tempValue.replace(/<img/g, '<img style="width: auto;height: 65vp;"')
} else if (this.imgType == 'maxWidth') {
// 看了HPRichText的源码-不支持max-width属性, 但是可以用 constraintSize 实现
tempValue =
tempValue.replace(/<img/g, '<img style="max-width: 100vp"')
}

LogUtil.info("tempValue", tempValue)

return tempValue;

}

build() {
if (this.richTextOption.content) {
HPRichText({
richTextOption: this.richTextOption,
})

}

}
}

使用:

QuesRichText({
cbwe.sh-soyun.com,cbwe.clzyfc.com,cbwe.scffy.cn
cbwe.cnjiasi.cn,cbwe.xintiao78.com
richContent: "

hell world

",
})

标签:cbwe,hp,richtext,content,richTextOption,tempValue,imgType,next,com
From: https://www.cnblogs.com/bkbk1234/p/18545248

相关文章

  • 鸿蒙 Next 元素定位
    在鸿蒙next中,子元素想要相对于父元素定位会使用到.opsition()这个属性,用法如下:@Entry@ComponentstructPositionExample1{build(){Column(){Row(){}.position({x:50,y:50})}.width('100%').height('100%')}}cbwe.hgyb0831.com,cbwe.bochendoor.c......
  • HarmonyOS Next 入门实战 - 创建项目、主题适配
    ​开发一个简单的demo,其中涉及一些鸿蒙应用开发的知识点,其中涉及导航框架,常用组件,列表懒加载,动画,深色模式适配,关系型数据库等内容,在实践中学习和熟悉鸿蒙应用开发。​​​​首先下载并安装DevEcoStudio开发环境,下载完成后按照提示安装即可,过程不在多说。DevEcoStudio-Harmo......
  • 【最新原创毕设】面向课堂教学的智能课堂点名系统+09531(免费领源码)可做计算机毕业设计
    摘要本文旨在设计和实现一个基于智能课堂点名系统的智能助手。随着高校招生规模的不断扩大和信息化技术的发展,为教师提供一款便捷、全面的点名系统具有重要意义。本系统通过整合校园各项服务资源和功能,旨在帮助教师和学生更好地适应智能课堂,提供全方位的指导和支持。本文......
  • (2024最新毕设合集)基于SpringBoot的广州糖水甜品店推荐系统-28495|可做计算机毕业设计J
    摘要随着人们生活水平的提高和饮食习惯的多样化,甜品在日常生活中扮演着越来越重要的角色。特别是在中国南方地区,甜品店和糖水店已经成为人们经常光顾的地方,而广州作为美食之都,拥有众多具有独特风味的糖水甜品店。然而,由于市场竞争激烈,消费者往往面临选择困难,需要花费大量时间......
  • PHP运算符
    PHP运算符在PHP中,运算符是一种用于执行各种数学、逻辑和字符串操作的特殊符号。它们允许我们对变量、常量或表达式进行计算和比较。以下是对PHP中各类运算符的详细介绍:1.算术运算符算术运算符用于执行基本的数学运算。加法(+):将两个数相加。减法(-):从第一个数中减去第二个数。......
  • 如何使用PHP开发API接口?
    在当今数字化时代,API(ApplicationProgrammingInterface,应用程序编程接口)成为前后端交互的核心桥梁。PHP作为一种流行的服务器端脚本语言,被广泛用于开发API接口。本文将详细介绍如何使用PHP开发API接口,从基础概念到实战步骤,帮助读者掌握这一重要技能。一、API接口基础介绍AP......
  • 鸿蒙NEXT开发案例:光强仪
     【引言】本文将介绍如何使用鸿蒙NEXT框架开发一个简单的光强仪应用,该应用能够实时监测环境光强度,并给出相应的场景描述和活动建议。【环境准备】电脑系统:windows10开发工具:DevEcoStudioNEXTBeta1BuildVersion:5.0.3.806工程版本:API12真机:mate60pro语言:ArkTS、......
  • 微信小程序PHP+uniapp社区后勤报修系统
    目录项目介绍具体实现截图微信开发者工具HBuilderX+uniapp开发技术简介文件解析设计思路性能/安全/负载方面数据访问方式PHP核心代码部分展示代码目录结构解析详细视频演示源码获取项目介绍小程序端运行软件微信开发者工具/hbuiderx基于微信小程序的社区后勤报修系......
  • laravel PhpOffice 读取表格数据
    /***更新安通船期*Description*AuthorAllen*Date2024-11-11*@paramRequest$request[description]*@return[type][description]*/publicfunctionupdateAntongShipDate(Request$request){......
  • 蓝牙的世界:HarmonyOS Next中的蓝牙接入和连接
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在智能设备飞速发展的今天,蓝牙技术作为......