富文本编辑器vue2-editor实现全屏功能


Posted in Javascript onMay 26, 2019

vue2-editor非常不错,可惜并未带全屏功能,自己实现了一个,供大家参考。

实现思路:自定义模块。

1. 定义全屏模块Fullscreen

/**
 * 编辑器的全屏实现
 */
import noScroll from 'no-scroll'
export default class Fullscreen {
 constructor (quill, options = {}) {
  this.quill = quill
  this.options = options
  this.fullscreen = false
  this.editorContainer = this.quill.container.parentNode.parentNode
 }
 handle () {
  if (! this.fullscreen) {
   this.fullscreen = true
   this.editorContainer.className = 'ql-editor ql-blank editor-fullscreen'
   noScroll.on()
  }else{
   this.fullscreen = false
   this.editorContainer.className = 'ql-editor ql-blank'
   noScroll.off()
  }
 }
}

Fullscreen.js

2. 通过编辑器的选项注册模块,我是放在了全局的Global.vue中,其他页面直接引用这个选项

const EDITOR_OPTIONS = {
 modules: {
  fullscreen: {},
  toolbar: {
   container: [
    [{ header: [false, 1, 2, 3, 4, 5, 6] }],
    ["bold", "italic", "underline", "strike"], // toggled buttons
    [
     { align: "" },
     { align: "center" },
     { align: "right" },
     { align: "justify" }
    ],
    ["blockquote", "code-block"],
    [{ list: "ordered" }, { list: "bullet" }, { list: "check" }],
    [{ indent: "-1" }, { indent: "+1" }], // outdent/indent
    [{ color: [] }, { background: [] }], // dropdown with defaults from theme
    ["link", "image", "video"],
    ["clean"], // remove formatting button
    ['fullscreen']
   ],
   handlers: {
    fullscreen() {
     this.quill.getModule('fullscreen').handle()
    }
   }
  }
 }
}

3. 在页面中引用

<vue-editor
  useCustomImageHandler
 @imageAdded="handleImageAdded"
 v-model="entity.content"
 :editorOptions="$global.EDITOR_OPTIONS"
 class="editor">
</vue-editor>
import {VueEditor, Quill} from "vue2-editor"
import Fullscreen from '../Fullscreen'
Quill.register('modules/fullscreen', Fullscreen)

4. 最后在全局样式中加入全屏的样式,我这个样式中控制了编辑器的高度,默认是自适应高度的。

.editor .ql-editor{
 height: 300px;
 }
 .editor-fullscreen{
  background: white;
  margin: 0 !important;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  .ql-editor{
   height: 100%;
  }
  .fullscreen-editor {
   border-radius: 0;
   border: none;
  }
  .ql-container {
   height: calc(100vh - 3rem - 24px) !important; 
   margin: 0 auto;
   overflow-y: auto;
  }
 }
 .ql-fullscreen{
 background:url('./assets/images/fullscreen.svg') no-repeat center!important;
 }

总结

以上所述是小编给大家介绍的富文本编辑器vue2-editor实现全屏功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用Javscript实现表单复选框的全选功能
May 25 Javascript
jquery 输入框数字限制插件
Nov 10 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 Javascript
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
js判断节假日实例代码
Dec 27 Javascript
fetch 如何实现请求数据
Dec 20 Javascript
JS继承实现方法及优缺点详解
Sep 02 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 #Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
May 26 #Javascript
vue指令做滚动加载和监听等
May 26 #Javascript
vxe-table vue table 表格组件功能
May 26 #Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 #Javascript
微信小程序 swiper 组件遇到的问题及解决方法
May 26 #Javascript
vue项目打包后怎样优雅的解决跨域
May 26 #Javascript
You might like
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
Python中functools模块的常用函数解析
2016/06/30 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
如何提高JDBC的性能
2013/04/30 面试题
员工自我鉴定范文
2013/10/06 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
班组长岗位职责
2014/03/03 职场文书
护理专业学生职业生涯规划范文
2014/03/11 职场文书
校企合作协议书
2014/04/16 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL