wangEditor
富文本使用起来还是很方便的
npm 安装 npm i wangeditor --save
import E from 'wangeditor'
const editor = new E('#div1')
editor.create()
正常项目来说 一个富文本已经出来了 然后再配置其他就可以
但是 ! ! ! 接手老项目 难免遇见几个旧雷 记录一下俺的冤种经历~
你可能会遇见这样的报错Uncaught Error in Vue (Component: "unnamed"): mounted hook Error: 无效的节点选择器 或者是 wangEdito hook Error: 错误:初始化编辑器时候未传入任何参数,请查阅文档
网上冲冲浪 会不会是版本问题 也许切换低一点会好 npm i wangeditor@4.6.3
如果可以恭喜发财 无事发生
不sing的话 仔细看这个报错 像不像是元素压根没加载出来
不死心的 输出 this.$nextTick
嗯 还是不行
一个富文本三行代码出来的玩意 我居然现在还没显示 ??? 怒 !
俺仔细研究了一哈 这玩意哪都能出来 就是现在在弹出框里写出不来
就是 element 的 Dialog 对话框
真実はいつもひとつ (柯南推眼镜)
我的富文本在Dialog里没加载出来 哦莫哦莫
我已经可以猜到 又是一个小智障bug了 哭哭
果然 如果你们也遇到这样的bug 先去看一下自己的弹框吧
前人挖坑 后人流泪
留下一些代码 友友们可以参考一下
<el-dialog
:visible.sync="dialogVisible"
@opened="eldialogShow"
@close="$emit('close')"
>
opened打开的时候 去生成你的富文本
eldialogShow(){
this.$nextTick(() => {
this.initEditor();
});
},
安全起见 我还是选择套在了this.$nextTick里
顺手还写了图片上传
initEditor(){
const editor = new E(document.getElementById("content"));
editor.config.uploadImgServer = this.uploadUrl
editor.config.uploadFileName = 'xxx'
editor.config.uploadImgHeaders = {
'X-Username': getUser().uid,
'redirectURL': getUploadUrl('uploadPath')
}
editor.config.uploadImgHooks={
before: function (xhr, editor, files) {
},
success: function (xhr, editor, result) {
console.log("上传成功");
},
fail: function (xhr, editor, result) {
console.log("上传失败,原因是" + result);
},
error: function (xhr, editor) {
console.log("上传出错");
},
timeout: function (xhr, editor) {
console.log("上传超时");
},
customInsert: function (insertImg, result, editor) {
var url = result.url;
insertImg(url)
}
}
editor.create();
},
so 这次bug的原因是 . . . 因为 v-if 弹出框 , 富文本没有渲染 改了弹出框的开关方式就好了 果然很弱智啊
留此博客 希望自己以后能细心点啊丢
|