背景

近期做的后台管理系统,需要有一个富文本编辑器来录入一些API文档的功能。调研时,用UEditor,去github直接下资源包,然后引入到项目中。然而由于项目是一个vue项目,UEditor的实现有些似乎类型JQuery的使用,引入项目中一直各种报错。想着技术都比较旧,后期用富文本的功能报错也不好处理,最后弃了。然后用了vue2-editor,实现简单,初始首版就用vue2-editor去实现了。后来,需求要求要插入表格功能,vue2-editor不支持插入表格功能。自定义扩展,也不好扩展。去npm也查了下,时经2年也没有更新了,也没有专门团队去维护。后来查富文本就查到了wangeditor插件,功能比较多,还有专门文档手册,有专门团队维护,即使添加自定义菜单,文档中也可以查的到。而且,插件还是用TypeScript是实现开发的。近期还有新版本增加。就美美地,尝试着在项目里面引入试用了。

问题

兴冲冲地按着文档使用方法去新增富文本功能,以为可以完美实现,结果第一步创建富文本就出现了警告信息,导致添加富文本失效。
警告信息如下:

addRange(): The given range isn’t in document

解决

看到警告,第一做法就是直接复制信息问了下度娘。然而查了十来分钟,找的法子跟自己的都不是很适合,没有解决。最后干脆自己尝试着去看报错信息试着去解决。
看着警告意思,大概的意思是说给定的对象不在文档范围,结合wangeditor的使用文档,创建富文本时,是要指定容器的。我做的是vue项目,由于存在虚拟DOM机制,导致在创建富文本对象时可能拿不到这个容器,这就和提到不在文档范围吻合了。朝着这方向去试着处理,竟然解决了。上代码如下。

editor.vue

<template><div><div id="edtior"></div></div>
</template>

editor.ts

<script lang="ts">
import { Vue, Component, Prop } from 'vue-property-decorator'
import WangEditor from 'wangeditor'
@Component({name: 'modify-dialog'
})
export default class ModifyDialog extends Vue{ prefixCls : string = 'modify-document-dialog'wangEditor : any = null    /*** 编辑器配置*/setEditorConfig() {// 设置菜单this.wangEditor.config.menus = ['head','bold','fontSize','fontName','italic','underline','strikeThrough','indent','lineHeight','foreColor','backColor','link','list','todo','justify','quote','emoticon','image','table','code','splitLine','undo','redo',]// 设置编辑区域的高度this.wangEditor.config.height = 500/* ========= 图片上传 start =========== */// 配置 server 接口地址 this.wangEditor.config.uploadImgServer = '/upload-img'// 可使用 base64 格式保存图片this.wangEditor.config.uploadImgShowBase64 = true/* ========= 图片上传 end =========== */// 网络图片-配置alt选项this.wangEditor.config.showLinkImgAlt = false// 网络图片-配置超链接this.wangEditor.config.showLinkImgHref = false// 配置 onchange 回调函数,将数据同步到 vue 中this.wangEditor.config.onchange = (newHtml: any) => {(this as any).form.documentContent = newHtml}}initWangEditor() {this.wangEditor = new WangEditor('#edtior')// 编辑器配置this.setEditorConfig()    // 创建编辑器--把wangEditor.create()放在$nextTick里面,加一个异步延迟的处理,就可以正常创建富文本编辑器了this.$nextTick(() => {this.wangEditor.create()// 设置编辑器内容this.wangEditor.txt.html((this as any).form.documentContent)})}created() {this.initWangEditor()}
}
</script>

以上,问题解决。
如有问题,欢迎来指出呀!

vue项目中使用富文本wangEditor插件 出现的 The given range isn‘t in document错误相关推荐

  1. 在Django项目中使用富文本编辑器

    2019独角兽企业重金招聘Python工程师标准>>> 1 开发要点 现在网上有很多的富文本编辑器,包括Markdown.tinymce.UEditor.KindEditor.cke ...

  2. react html编辑器,react项目中使用富文本编辑器

    安装: cnpm install -D draft-js draftjs-to-html react-draft-wysiwyg // 用来指定商品详情的富文本编辑库 import React, { ...

  3. vue获取编辑器纯文字_vue中使用富文本编辑器

    前端使用富文本编辑器的插件有很多,今天献上wangeditor的使用教程,教你如何在vue中使用富文本编辑器 wangeditor是一个萌新富文本编辑器,基于js和css,重点在于它轻量,如果你需要的 ...

  4. Vue项目中tinymce富文本的安装以及配置

    Vue项目中tinymce富文本的安装以及配置 对于目前网上存在的许多富文本插件中,个人还是觉得tinymce相对比较强大一些.在使用配置的过程中,可能会出现配置不完全,导致使用不了的情况,下面把我个 ...

  5. Django中使用富文本编辑器Uedit

    Uedit是百度一款非常好用的富文本编辑器 一.安装及基本配置 官方GitHub(有详细的安装使用教程):https://github.com/zhangfisher/DjangoUeditor 1. ...

  6. 在vue项目中引用萤石云播放器插件

    在vue项目中引用萤石云播放器插件 1. 萤石云官方开发文档: https://open.ys7.com/help/31 2. 登录官方网站:https://open.ys7.com/cn/s/ind ...

  7. Vue cli项目,使用富文本编辑器WangEditor,8小时摸爬滚打后,弃坑Tinymce、UEditor、Quill

    一共尝试了 Tinymce.UEditor.Quill等好几种编辑器,最终觉得最满意的是 WangEditor. 1.Tinymce 开源项目ElementAdmin自带的例子,图片上传 竟然存的是 ...

  8. Django实现的博客系统中使用富文本编辑器ckeditor

    操作系统为OS X 10.9.2,Django为1.6.5. 1.下载和安装 1.1 安装 ckeditor 下载地址 https://github.com/shaunsephton/django-c ...

  9. ue4字符串 区别 文本_UE4中使用富文本(RichTextBlock多格式文本块)

    前言 哈喽大家好啊~好久没有写东西了,最近闹疫情,实在是没心情!其实主要还是因为太懒了! 今天将为大家分享个不是很新的技术,但是又是在游戏开发里常出现的需求,富文本应用. 说到富文本,可能很多人并不知 ...

最新文章

  1. Linux下用汇编输出Hello, world
  2. 在 VC6 中使用 GdiPlus-使用
  3. android 三个点按钮实现_Android 常用侧滑栏实现
  4. 公开资料整理网是什么_50份精选+阿咪整理的灵性/修行资料公开免费分享
  5. 不同管理岗层级的团队影响力_高影响力团队的最高要求
  6. netty应用场景_彻底搞懂 netty 线程模型
  7. C++11线程的生命周期
  8. Android动画之Interpolator插入器
  9. 基于POP3协议收取邮件
  10. 三星pay显示连接服务器失败,Samsung Pay刚刚上线就遇绑卡失败,三星闹哪样?
  11. Unity报错之【发布UWP显示“Could not find any supported UWP SDK installations”】
  12. adb常用的命令【杭州多测师_王sir】【杭州多测师】
  13. php圆角的度数计算公式,角度数换算公式(三角函数计算换算角度)
  14. 机器学习系列(三)——目标函数、损失函数以及代价函数
  15. Android P 中的网络安全配置指南 network-security-config
  16. 阿里云ECS搭建正向代理,代理线下办公网络代理上网
  17. 爬取全民K歌用户歌曲
  18. 在python中、下列哪些说法是错误的-Python支持复数类型,以下哪个说法是错误的?...
  19. 第一章 程序设计基本方法
  20. openmv ide 2.6.5下载

热门文章

  1. 2k18 服务器不稳定,nba2k18连不上服务器-nba2k18连不上服务器解决方法_斗蟹问答
  2. 3d红苹果html,有关html
  3. 【模型评估】AP 和他的兄弟们:mAP、AP50、APs、APm、APl
  4. 都市快打apk格斗小助手,.net反编译,unity3d游戏逆向。
  5. MetInfo米拓后台操作修改汇总
  6. 《广东省智慧高速公路建设指南(试行)》发布(附下载)
  7. 神州云动CloudCC CRM系统排名?神州云动CloudCC CRM系统怎么选?什么是用户口碑最好的神州云动CloudCC CRM系统?
  8. 2020年生态红线调整技术方案----解读
  9. 网站色彩设计与搭配技术(上)
  10. django讲解 模型一