富文本编辑器初尝试之wangEditor(1)
1、目的
- 常常说富文本编辑器是前端天花板,也有小伙伴问这个,今天我们先尝试
使用
一下富文本编辑器
先强调一下 开发富文本有困难,使用比较简单,请放松观看
- 富文本编辑器有很多,此处尝试一个 wangEditor
2、步骤
1.先github 创建一个仓库 g clone 拿下来
2.vue create wang_editor_demo 这个文件内创建 vue 项目
3.使用 wangEditor yarn add @wangeditor/editor
3、按照文档来敲一下
-
把这段敲进去
Home.vue
<template>
<div style="border: 1px solid #ccc;">
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editor"
:defaultConfig="toolbarConfig"
:mode="mode"
/>
<Editor
style="height: 500px; overflow-y: hidden;"
v-model="html"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="onCreated"
/>
</div>
</template>
<script>
import Vue from 'vue'
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
export default Vue.extend({
components: { Editor, Toolbar },
data() {
return {
editor: null,
html: '<p>hello</p>',
toolbarConfig: { },
editorConfig: { placeholder: '请输入内容...' },
mode: 'default', // or 'simple'
}
},
methods: {
onCreated(editor) {
this.editor = Object.seal(editor) // 一定要用 Object.seal() ,否则会报错
},
},
mounted() {
// 模拟 ajax 请求,异步渲染编辑器
setTimeout(() => {
this.html = '<p>模拟 Ajax 异步设置内容 HTML</p>'
}, 1500)
},
beforeDestroy() {
const editor = this.editor
if (editor == null) return
editor.destroy() // 组件销毁时,及时销毁编辑器
}
})
</script>
<style src="@wangeditor/editor/dist/css/style.css"></style>
*敲完这个 你就可以 看到 页面的样子了
- 甚至移动端也支持
-
文档写的 比较清楚,傻瓜式 操作即可
-
页面数据变化来源 模拟请求
4、工具栏配置尝试
-
toolbar.getConfig()
查看工具栏的默认配置。
import { DomEditor } from '@wangeditor/editor'
updated() {
const toolbar = DomEditor.getToolbar(this.editor)
const curToolbarConfig = toolbar.getConfig()
console.log(curToolbarConfig.toolbarKeys)
},
- 可以拿到 工具栏 配置内容
-
在 created 不能拿到 因为还未构建完成
-
更改位置 (产品说我们的产品要 不一样)
curToolbarConfig.insertKeys = {
index: 5, // 插入的位置,基于当前的 toolbarKeys
keys: ['headerSelect'], // 无需抓耳挠腮 快速解决
}
-
去除某些内容(常见)
toolbarConfig.excludeKeys = [
'headerSelect',
'group-more-style' // 排除菜单组,写菜单组 key 的值即可
]
- 效果
- 其他的就敲了 自行尝试 , 相信自己 没问题!
5、编辑器配置尝试
- 这个地方 文档写的并好,请参考 下面这种用法
- 可通过
editor.getConfig()
查看编辑器默认配置
-
有了 这个之后更改 编辑器 配置 相关就比较简单
-
比如修改 placeholder
updated() {
const config = this.editor.getConfig()
config.placeholder = '我是马克付'
...}
- 页面效果
其他部分 自己敲吧 下次遇到项目中的 问题 再发出
小结
- 总的来说
比较好用,比较推荐,文档写的 也还比较好理解
,等我啥时候引入项目,再给大伙说说
Last:参考文档
1.wangEditor 2.
转载自:https://juejin.cn/post/7141935043915546637