复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151<template lang="html"> <div class="editor"> <div ref="toolbar" class="toolbar"> </div> <div ref="editor" class="text"> </div> </div> </template> <script> import E from 'wangeditor' export default { name: 'editoritem', data () { return { // uploadPath, editor: null, info_: null } }, model: { prop: 'value', event: 'change' }, props: { value: { type: String, default: '' }, isClear: { type: Boolean, default: false } }, watch: { isClear (val) { // 触发清除文本域内容 if (val) { this.editor.txt.clear() this.info_ = null } }, value: function (value) { if (value !== this.editor.txt.html()) { this.editor.txt.html(this.value) } } // value为编辑框输入的内容,这里我监听了一下值,当父组件调用得时候,如果给value赋值了,子组件将会显示父组件赋给的值 }, mounted () { this.seteditor() this.editor.txt.html(this.value) }, methods: { seteditor () { this.editor = new E(this.$refs.toolbar, this.$refs.editor) this.editor.customConfig.uploadImgShowBase64 = false // base 64 存储图片 this.editor.customConfig.uploadImgServer = process.env.VUE_APP_URL+'/files/upload'// 配置服务器端地址 this.editor.customConfig.uploadImgHeaders = { Authorization:localStorage.getItem('token') // Authorization: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiYWRtaW4iLCJpc0FkbWluIjoiMSIsImV4cCI6MTU5MzgzMTY0MiwidXNlcklkIjoiMDUxNTczNWI0ZTQwMzg0ZGNmMjM2NmQxNWRjOGNkYTQiLCJ1c2VybmFtZSI6InRlc3QifQ.GnQo1bjp8NWTUiQc043_yukkODuf49mbgHpEAy-hWyA' }// 自定义 header this.editor.customConfig.uploadFileName = 'files' // 后端接受上传文件的参数名 this.editor.customConfig.uploadImgMaxSize = 2 * 1024 * 1024 // 将图片大小限制为 2M this.editor.customConfig.uploadImgMaxLength = 6 // 限制一次最多上传 3 张图片 this.editor.customConfig.uploadImgTimeout = 3 * 60 * 1000 // 设置超时时间 // 配置菜单 this.editor.customConfig.menus = [ 'head', // 标题 'bold', // 粗体 'fontSize', // 字号 'fontName', // 字体 'italic', // 斜体 'underline', // 下划线 'strikeThrough', // 删除线 'foreColor', // 文字颜色 'backColor', // 背景颜色 'link', // 插入链接 'list', // 列表 'justify', // 对齐方式 'quote', // 引用 'emoticon', // 表情 'image', // 插入图片 'table', // 表格 'video', // 插入视频 'code', // 插入代码 'undo', // 撤销 'redo', // 重复 'fullscreen' // 全屏 ] this.editor.customConfig.uploadImgHooks = { // fail: (xhr, editor, result) => { // // 插入图片失败回调 // }, // success: (xhr, editor, result) => { // // 图片上传成功回调 // }, // timeout: (xhr, editor) => { // // 网络超时的回调 // }, // error: (xhr, editor) => { // // 图片上传错误的回调 // }, customInsert: (insertImg, result) => { // 图片上传成功,插入图片的回调 // console.log(result) if(result.code=='99999'){ this.$Message.error(result.data) } let url = result.data.filePath insertImg(url) } } this.editor.customConfig.onchange = (html) => { this.info_ = html // 绑定当前逐渐地值 this.$emit('change', this.info_) // 将内容同步到父组件中 } // 创建富文本编辑器 this.editor.create() } } } </script> <style lang="css"> .editor { width: 100%; margin: 0 auto; position: relative; z-index: 0; } .toolbar { border: 1px solid #ccc; background-color: #f1f1f1; } .text { border: 1px solid #ccc; border-top:none; overflow-y: auto; height: 300px; } .w-e-text{ overflow-y: auto !important; } .w-e-text-container{ position:inherit !important; } </style>
最后
以上就是现实大象最近收集整理的关于wangEditor富文本编辑器的全部内容,更多相关wangEditor富文本编辑器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复