前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序富文本编辑器editor初体验

小程序富文本编辑器editor初体验

作者头像
Bug生活2048
发布2019-06-05 17:54:27
8.9K0
发布2019-06-05 17:54:27
举报
文章被收录于专栏:Bug生活2048

终于,微信在5月9号的v2.7.0版本中新增了 editor富文本编辑器组件,今天有时间了准备体验一下

在5月6日的时候写了一篇小程序富文本解析的「伪需求」,从wxParse到towxml的坑,当时还在感慨官方什么时候出个比较全面的富文本组件,谁知道没几天就发布了editor富文本组件。

截图1

熟悉下文档

首先是兼容版本,最低要求2.7.0,使用时确认下开发工具的调试基础库。

截图2

然后需要关注下目前支持的标签,从目前公众号排版出来的文章的样式还是比较复杂的,总觉得目前的富文本编辑器不一定全部支持「我的猜测还是正确的」

从文档上看目前支持的标签数不是很多,但常用的基本都在里面了。

截图3

初尝试

使用还是比较简单的,官方的文档已经表述的比较清楚了,直接在wxml中引入组件

代码语言:javascript
复制
<editor  id="editor"  class="ql-container"  placeholder="{{placeholder}}"  showImgSize  showImgToolbar  showImgResize  bindstatuschange="onStatusChange"  read-only="{{readOnly}}"  bindready="onEditorReady"></editor>

然后在js中对组件进行初始化即可。

代码语言:javascript
复制
onEditorReady() {    const that = this    wx.createSelectorQuery().select('#editor').context(function (res) {      that.editorCtx = res.context    }).exec()  },

具体也可以直接下载官方的demo,可以直接在开发工具中运行,还是比较简单的。

截图4

结合我的博客小程序

最后就想尝试下,我的博客小程序中是否可以将towxml替换成editor,毕竟towxml太大了。

实现也比较简单,获取文章详情后,利用setContents来给富文本赋值,先写了一个简单的demo,核心代码如下:

代码语言:javascript
复制
 /**   * 初始化富文本框   */  onEditorReady:async function() {    const that = this    wx.createSelectorQuery().select('#editor').context(function (res) {      that.editorCtx = res.context    }).exec()
    let result=await api.getPostsById('ee3099285ccee97e0ca03888750d4603')    console.info(result.data)    that.editorCtx.setContents({      html:result.data.content,      success:  (res)=> {        console.log(res)      },      fail:(res)=> {        console.log(res)      }    })  },

运行后发现,一片空白,但看了日志数据已经获取成功,调用setContents方法也是成功的。

截图5

首先确认下代码是否有问题,将html赋值的地方写死固定的字符串,运行后发现是可以渲染成功的,证明代码应该没问题。

在确认代码确实无问题之后,优先想到的是开发工具是不是也要更新成最新版,检查更新之后发现确实有最新版,于是更新了下开发工具。

可遗憾的是即使更新到最新的版本,依旧无法显示,但神奇的是,利用手机预览是可以渲染成功的。

截图6

可还是比较遗憾,渲染出来的效果不是特别理想,原因还是因为部分标签不支持的缘故。

这里简单看了下样式出现问题的html代码,比如截图中的使用教程标题没有居中且颜色也不是原来的红色。

代码语言:javascript
复制
<section style="text-align: center;white-space: normal;">    <p style="color:#f05454;" class="active brush">        使用教程    </p></section>

代码中是使,用section标签来进行渲染的,可目前editor应该还不支持。

同样的,对于文章中的代码块的样式渲染也不是很理想,原因与上面一样,不支持code标签。

总结

editor富文本编辑器还是基本能满足需求的,但对于从第三方生成的复杂的html文本,支持的不是很完美。

就目前来看,目前还不能替换towxml组件,期待editor后续的更新吧。

我的小程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Bug生活2048 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档