小程序editor富文本编辑使用及rich-text解析富文本

news/2024/7/20 2:05:16 标签: 小程序, 微信小程序

今天尝试了下在小程序中使用editor富文本编辑,然后再详情页使用rich-text来解析富文本html。

首先先下载editor组件,并放到项目目录中,(组件下载地址)

文件存放后,打开richText.wxml可以根据需求修改代码,richText.js同理。

然后在需要的json文件中引入

"usingComponents": {
    "richText":"../../components/richText/richText"
},

在需要的wxml中使用组件

<richText 
  id='richText' 
  readOnly='{{readOnly}}'
  placeholder='{{placeholder}}' 
  formatDate='YY/MM/DD'
  buttonTxt='保存'
  bind:clearBeforeEvent='clearBeforeEvent'
  bind:clearSuccess='clearSuccess'
  bind:undo='undo'
  bind:restore='restore'
  bind:onEditorReady='onEditorReady' 
  bind:bindfocus='bindfocus' 
  bind:bindblur='bindblur' 
  bind:bindinput='bindinput' 
  bind:insertImageEvent='insertImageEvent' 
  bind:getEditorContent='getEditorContent'></richText>

这里说下组件的方法及属性

readOnly                      编辑器是否只读

clearBeforeEvent         清空编辑器内容之前的回调       

clearSuccess               清空编辑器内容成功时回调       

undo                             撤销内容成功时回调           

restore                          恢复内容成功时回调             

onEditorReady              编辑器初始化完成时回调,可以获取组件实例 

bindfocus                      编辑器聚焦时触发             

bindblur                         编辑器失去焦点时触发           

bindinput                       编辑器输入中时触发,实时返回富文本内容            

insertImageEvent          插入图片按钮点击时回调           

getEditorContent           保存按钮点击时回调,返回富文本内容      

这就是小程序中的富文本编辑器:

接下来我们说下,当在富文本编辑器中录入好信息并提交到云数据库中,如何在详情页中查询并显示数据,这时候我们就要用到官方给提供的rich-text组件了。大家可以去官方文档中去看下该组件的详细属性(传送门)。

在详情页获取数据之前,我们先看下在富文本编辑器提交给云数据库的数据格式,

 我们要的是html格式的,用rich-text组件来解析。在看看详情页中该如何查询数据并渲染到页面

<view class="warp">
			<view class="details">
			
				<view class="detailsContent">
					<rich-text nodes="{{html}}" ></rich-text>
				</view>
			</view>
</view>
const db = wx.cloud.database();//调用默认云环境的数据库引用
const app = getApp();
Page({
  data: {
    details:{}
  },
  onLoad: function(options) {
    let that=this;
    db.collection("details").doc(options.id).get().then(res=>{//首先获取数据集合,查询数据,  
    console.log("详情数据:",res.data)
      this.setData({
        html: res.data[0].html.replace('<img ', '<img style="max-width:100%;height:auto;"'),
      })
    })
  },
})

大家可能看到在后面中追加了.replace('<img ', '<img style="max-width:100%;height:auto;"'),这个是针对在富文本中添加的图片,默认会很大。这样设置的话,图片就可以适配了。

这就是在详情页中的效果:

 


http://www.niftyadmin.cn/n/1510585.html

相关文章

标准模板库(STL)

一.STL 广义&#xff1a;包括算法&#xff0c;容器&#xff0c;迭代器 STL六大组件&#xff1a;容器&#xff0c;算法&#xff0c;迭代器&#xff0c;仿函数&#xff0c;适配器&#xff0c;空间配置器。 容器&#xff1a;类模板 > 各种各样的数据结构&#xff1a;数组&…

想要开发好的软件,必须学会这几项!

随着互联网的普及&#xff0c;开发人员数量越来越多&#xff0c;网站开发人员、移动APP开发人员等&#xff0c;也许这个数量还会增加。那么作为一个开发人员&#xff0c;如何开发出好的作品呢&#xff1f;需要注意些什么呢&#xff1f;作为一名新时代的开发者&#xff0c;你必须…

java编译点九图_【Android】点9图,点九图

第六节视频的内容&#xff0c;真正做起来才发现自己一点都不了解这个点9图。概述官网截的&#xff1a;A NinePatchDrawablegraphic is a stretchable bitmap image, which Android will automatically resize to accommodate the contents of the View in which you have place…

【经典数据结构】Trie

在计算机科学中&#xff0c;trie&#xff0c;又称前缀树或字典树&#xff0c;是一种有种树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是字符串。与二叉查找树不同&#xff0c;键不是直接保存在节点中&#xff0c;而是由节点在树中的位置决定。一个节点的所有子孙都…

echarts 全国地图视觉映射组件

今天优化了之前开发好的地图功能&#xff0c;增加了视觉映射组件及地图上显示数据。 接下来我们看下代码&#xff1a; 视觉映射组件&#xff1a; visualMap: {min: 0, //最小值max: 1000, //最大值orient: "vertical", //图例模式left: 26,bottom: 26,showLabel: …

微信小程序wx.setClipboardData复制文本

今天在开发中遇到一个问题&#xff0c;在小程序中 复制文本&#xff0c;在做之前也查了资料&#xff0c;大部分都是固定文本复制&#xff0c;&#xff08;小程序本身是不能手动复制的&#xff09;和需求还是不一样的。 对于复制官方文档中提供了&#xff1a; wx.setClipboard…

三种排序方法(c语言)

1 #include "stdio.h"2 void main()3 {void read_data(int a[],int n);4 void write_data(int a[],int n);5 void comp(int a[],int n);6 void insert(int a[],int n); 7 void bubble(int a[],int n);8 int i,n0,a[200];9 printf("请输入元素个数&#…

微信小程序状态栏

之前刚开始接触小程序的时候有写过小程序状态栏&#xff0c;今天开发的时候又遇到了&#xff0c;顺便记录下。 <view style"padding-top: {{statusBarHeight}}px;background-color: #f6f6f6;"></view>Page({data: {statusBarHeight: 0, //状态栏初始高度…