富文本编辑器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 相关文章推荐
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
Feb 16 Javascript
javascript实现行拖动的方法
May 27 Javascript
JavaScript各类型的关系图解
Oct 16 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
浅谈js中的引用和复制(传值和传址)
Sep 18 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
JS设计模式之惰性模式(二)
Sep 29 Javascript
vue技术分享之你可能不知道的7个秘密
Apr 09 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
Sep 17 Javascript
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
关于vue属性使用和不使用冒号的区别说明
Oct 22 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
一个查看session内容的函数
2006/10/09 PHP
PHP中文件上传的一个问题
2010/09/04 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
Javascript 实用小技巧
2010/04/07 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
2012/06/14 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
土木工程应届生自荐信
2013/09/24 职场文书
大学生简单自荐信
2013/11/10 职场文书
卫校护理专业毕业生求职信
2013/11/26 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
2014年检验员工作总结
2014/11/19 职场文书
公积金具结保证书
2015/05/11 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
环保主题班会教案
2015/08/13 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
Python学习之时间包使用教程详解
2022/03/21 Python