【VUE+Element】vue-quill-editor的使用,上传图片+音频+视频+自定义上传方式

论坛 期权论坛     
选择匿名的用户   2021-5-30 00:16   93   0
<p><strong>效果:</strong></p>
<p><img alt="" height="269" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-b693794fdfb44c4c319f0de2b38a6d5b.png" width="1200"></p>
<p><strong>前提:</strong></p>
<ul><li> quill-editor只支持三种标签p b span ,如果要用其他等标签,要用Quill中提供的register方法去注册标签。</li><li>对于原生的视频上传,只能上传地址,现在要实现本地上传</li><li>对于本地上传,需要组件辅助,上传时打开本地文件,如下。</li><li>对于音频及其他,要组件工具栏中自定义,因为原生没有对音频图标进行封装(格外注意!)</li><li>本文对编辑的文字大小做了格式扩展</li></ul>
<p><strong>实现: </strong></p>
<p>1、引入vue-quill-editor</p>
<pre class="blockcode"><code>cnpm install vue-quill-editor</code></pre>
<p>2、使用vue-quill-editor</p>
<p>template:</p>
<pre class="blockcode"><code>&lt;!-- 上传组件辅助--&gt;
        &lt;el-upload class&#61;&#34;avatar-uploader-editor&#34; :action&#61;&#34;serverUrl&#34; name&#61;&#34;img&#34; :headers&#61;&#34;header&#34; :show-file-list&#61;&#34;false&#34;
          :on-success&#61;&#34;uploadSuccess&#34; :on-error&#61;&#34;uploadError&#34;&gt; &lt;/el-upload&gt;
        &lt;el-upload class&#61;&#34;avatar-uploader-editor-video&#34; :action&#61;&#34;serverUrl&#34; name&#61;&#34;video&#34; :headers&#61;&#34;header&#34; :show-file-list&#61;&#34;false&#34;
          :on-success&#61;&#34;uploadSuccessVideo&#34; :on-error&#61;&#34;uploadError&#34;&gt; &lt;/el-upload&gt;
        &lt;el-upload class&#61;&#34;avatar-uploader-editor-voice&#34; :action&#61;&#34;serverUrl&#34; name&#61;&#34;voice&#34; :headers&#61;&#34;header&#34; :show-file-list&#61;&#34;false&#34;
          :on-success&#61;&#34;uploadSuccessVoice&#34; :on-error&#61;&#34;uploadError&#34;&gt; &lt;/el-upload&gt;

&lt;quill-editor v-model&#61;&#34;content&#34; ref&#61;&#34;myQuillEditor&#34; style&#61;&#34;height: 500px;margin-top: -22px;&#34; :options&#61;&#34;editorOption&#34;&gt;
          &lt;div id&#61;&#34;toolbar&#34; slot&#61;&#34;toolbar&#34;&gt;
            &lt;button class&#61;&#34;ql-bold&#34; title&#61;&#34;加粗&#34;&gt;Bold&lt;/button&gt;
            &lt;button class&#61;&#34;ql-italic&#34; title&#61;&#34;斜体&#34;&gt;Italic&lt;/button&gt;
            &lt;button class&#61;&#34;ql-underline&#34; title&#61;&#34;下划线&#34;&gt;underline&lt;/button&gt;
            &lt;button class&#61;&#34;ql-strike&#34; title&#61;&#34;删除线&#34;&gt;strike&lt;/button&gt;
            &lt;button class&#61;&#34;ql-blockquote&#34; title&#61;&#34;引用&#34;&gt;&lt;/button&gt;
            &lt;button class&#61;&#34;ql-code-block&#34; title&#61;&#34;代码&#34;&gt;&lt;/button&gt;
            &lt;button class&#61;&#34;ql-header&#34; value&#61;&#34;1&#34; title&#61;&#34;标题1&#34;&gt;&lt;/button&gt;
            &lt;button class&#61;&#34;ql-header&#34; value&#61;&#34;2&#34; title&#61;&#34;标题2&#34;&gt;&lt;/button&gt;
            &lt;button class&#61;&#34;ql-list&#34; value&#61;&#34;ordered&#34; title&#61;&#34;有序列表&#34;&gt;&lt;/button&gt;
            &lt;button class&#61;&#34;ql-list&#34; value&#61;&#34;bullet&#34; title&#61;&#34;无序列表&#34;&gt;&lt;/button&gt;
            &lt;select class&#61;&#34;ql-header&#34; title&#61;&#34;段落格式&#34;&gt;
              &lt;option selected&gt;段落&lt;/option&gt;
              &lt;option value&#61;&#34;1&#34;&gt;标题1&lt;/option&gt;
              &lt;option value&#61;&#34;2&#34;&gt;标题2&lt;/option&gt;
              &lt;option value&#61;&#34;3&#34;&gt;标题3&lt;/option&gt;
              &lt;option value&#61;&#34;4&#34;&gt;标题4&lt;/option&gt;
              &lt;option value&#61;&#34;5&#34;&gt;标题5&lt;/option&gt;
              &lt;option value&#61;&#34;6&#34;&gt;标题6&lt;/option&gt;
            &lt;/select&gt;
            &lt;select class&#61;&#34;ql-size&#34; title&#61;&#34;字体大小&#34;&gt;
              &lt;option value&#61;&#34;10px&#34;&gt;10px&lt;/option&gt;
              &lt;option value&#61;&#34;12px&#34;&gt;12px&lt;/option&gt;
              &lt;option value&#61;&#34;14px&#34;&gt;14px&lt;/option&gt;
              &lt;option value&#61;&#34;16px&#34; selected&gt;16px&lt;/option&gt;
              &lt;option value&#61;&#34;18px&#34;&gt;18px&lt;/option&gt;
              &lt;option value&#61;&#34;20px&#34;&gt;20px&lt;/option&gt;
              &lt;option value&#61;&#34;30px&#34;&gt;30px&lt;/option&gt;
            &lt;/select&gt;
            &lt;select class&#61;&#34;ql-font&#34; title&#61;&#34;字体&#34;&gt;                                       
              &lt;option value&#61;&#34;SimSun&#34;&gt;宋体&lt;/option&gt;
              &lt;option value&#61;&#34;SimHei&#34;&gt;黑体&lt;/option&gt;
              &lt;option value&#61;&#34;Microsoft-YaHei&#34;&gt;微软雅黑&lt;/option&gt;
              &lt;option value&#61;&#34;KaiTi&#34;&gt;楷体&lt;/option&gt;
              &lt;option value&#61;&#34;FangSong&#34;&gt;仿宋&lt;/option&gt;
              &lt;option value&#61;&#34;Arial&#34;&gt;Arial&lt;/option&gt;
            &lt;/select&gt;
            &lt;select class&#61;&#34;ql-color&#34; value&#61;&#34;color&#34; title&#61;&#34;字体颜色&#34;&gt;&lt;/select&gt;
            &lt;select class&#61;&#34;ql-background&#34; value&#61;&#34;background&#34; title&#61;&#34;背景颜色&#34;&g
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP