可以拖拽的富文本编辑器(VueDragResize,quill-editor)

该功能实现一个帮助文档的展示和编辑功能,默认进去只能查看帮助文档的内容,点击编辑可以进行富文本编辑器的编辑功能。

  • 出现的问题
  • 1.如何隐藏富文本编辑的工具栏并且禁止编辑
  //隐藏工具栏
    this.toolbar = this.$refs.myTextEditor.quill.getModule('toolbar');
        this.toolbar.container.style.display = 'none';
        
  //禁止富文本编辑器编辑
   onEditorFocus(event) {
            if(this.isEdit){
                event.enable(true);
            }else{
                event.enable(false);
            }
        }, //       

  • ●控制只有顶部可以进拖拽
    在这里插入图片描述
    ●由于控制了只有头部可以拖拽当点击富文本编辑后VueDragResize失去焦点,无法进行四周的拉伸与收缩
   this.$refs.moveContainer.active=true;
   //每当离开编辑器的时候手动给VueDragResiz赋予可拖拽

完整代码:

<template>
    <div class="container">
        <!--//缩放功能主要是缩放VueDrangResize标签-->
        <VueDragResize class="move-container" :isActive="true" :w="490" :h="690"  :isResizable="true"
            v-on:resizing="resize"    :drag-handle="'.title'" v-on:dragging="resize" ref="moveContainer">
                <div class="title">
                    <div class="text">
                        <span>帮助文档</span>
                    </div>
                    <div class="action-panel" style="text-align: right;height: 30px;">
                        <template v-if="isEdit">
                            <gf-button type="primary" @click="save"> 保存 </gf-button>
                        </template>
                        <gf-button v-else type="primary" @click="handleEdit"> 编辑</gf-button>
                        <gf-button type="primary" @click="cancel"> 取消 </gf-button>
                    </div>
                </div>
                <div class="body" @mouseleave="handleMouseLeave">
                    <slot name="content">
                        <quill-editor ref="myTextEditor" :options="editorOption" v-model="content" :config="editorOption"
                            @focus="onEditorFocus($event)" class="quill-container"></quill-editor>
                    </slot>
                </div>
        </VueDragResize>

    </div>

</template>

<script>
import VueDragResize from 'vue-drag-resize'

export default {
    components: {
        VueDragResize
    },
    props: {
        compTitle: {
            type: String,
            default: ''
        },
        data: {
            type: String,
            default: "<p>每个人都有一份属于自己的责任,需要自己去担当,去完成。只有我们担当起了自己的责任时,才能把事情做好。就像我们学生的'责任主要是抓好学习,教师的责任主要是给学生传授知识,警察的责任主要是维护社会治安,而清洁工人的责任主要是打扫卫生…孙中山先生说过:“我辈既以担当中国改革发展为己任,虽石烂海枯,而此身尚存,此心不死。既不可以失败而灰心,亦不能以困难而缩步。全神贯注,猛力向前,应付世界进步之潮流,合乎善长恶消之天理,则终有最后成功之一日。”孙先生的一席话告诉我:做一件事<img src=\"data:image/png;base64,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"
        }
    },

    data() {
        return {
            vw: 0,
            vh: 0,
            top: 0,
            left: 0,
            editorOption: {
            },
            isEdit:false,
            helpContent:'',
            toolbar,
            content:''
        }
    },
    created() {
        this.vw = 290 + 'px'
        this.vh = 300 + 'px'
    },
    mounted() {
        this.content = this.data;
        // this.$refs.myTextEditor.quill.enable(false);//解决富文本自动聚焦问题
        this.toolbar = this.$refs.myTextEditor.quill.getModule('toolbar');
        this.toolbar.container.style.display = 'none';
    },
    methods: {
        // 缩小
        resize(newRect) {
            this.vw = newRect.width
            this.vh = newRect.height
            this.top = newRect.top
            this.left = newRect.left

        },
        async save(){
            this.$emit("cancelHelp");
        },
        cancel(){
            this.$emit("cancelHelp");
        },
        onEditorFocus(event) {
            if(this.isEdit){
                event.enable(true);
            }else{
                event.enable(false);
            }
        }, // 获得焦点事件
        handleEdit() {
            this.isEdit = true; // 切换到编辑模式
            this.toolbar.container.style.display = 'block'; // 显示工具栏
        },
        handleMouseLeave(){
            // 使拖拽组件重新获取焦点
            this.$refs.moveContainer.active=true;
        }
    }

}
</script>

<style lang="less" scoped>
.container {
    position: absolute;
    top: 26px; 
    right: 500px; 
    z-index: 9999;
}

.move-container {
    border: 1px solid #A8AED3;
    border-radius: 14px;
    background: #fff;

}
.content-container{
    width: 100%;
    height: 100%;
}

.title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 4px;
    background: #EFF2FB; 
    cursor: move;
}
.text{
    padding-left:8px;
}
.body {
    width: 100%;
    height: calc(100% - 40px);
    overflow: auto;
}
.quill-container{
    height: 100%;
}

</style>
<style>
.vdr-stick {
    display: none;
    /* 默认隐藏拖拉点 */
}

.move-container:hover .vdr-stick {
    display: block;
    /* 鼠标移入时显示拖拉点 */
}
</style>

效果:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/787161.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode之无重复字符的最长子串

1.题目链接 3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/ 2.题目解析 题目主要思路其实是滑动窗口&#xff0c;使用两个指针维护一个动态区间&#xff0c;使…

价格疑云?格行WiFi创始人亲解谜团,性价比之王如何炼成?

随身wifi行业乱象频出&#xff0c;作为行业领跑品牌的格行随身wifi&#xff0c;关于价格问题一直备受质疑。关于设备上的“格行自有格行的骄傲”也被外界认定为是自大&#xff0c;甚至发展的线下一万多家门店也被同行不认可。近日&#xff0c;企业财经专访记者有幸采访了格行随…

实时消息推送系统,写得太好了!

websocket 协议是在 http 协议上的一种补充协议&#xff0c;是 html5 的新特性&#xff0c;是一种持久化的协议。其实 websocket 和 http 关系并不是很大&#xff0c;不过都是属于应用层的协议&#xff0c;接下来我们就开始实战。 websocket 定时推送 本教程基于 springboot …

华为od相关信息分享

2024年OD统一考试&#xff08;D卷&#xff09;完整题库&#xff1a;华为OD机试2024年最新题库&#xff08;Python、JAVA、C合集&#xff09; 问 1.什么是华为od&#xff1f; 答&#xff1a;OD全称是Outsourcing Dispacth&#xff0c;即外包派遣&#xff0c;是华为和外企德科…

HTML 标签简写及全称:表格内容将通过JavaScript动态生成

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…

2025考研~数据结构试卷

作者主页&#xff1a;知孤云出岫 数据结构试题 [TOC](数据结构试题)数据结构试卷一、选择题&#xff08;每题2分&#xff0c;共20分&#xff09;二、填空题&#xff08;每题3分&#xff0c;共15分&#xff09;三、简答题&#xff08;每题10分&#xff0c;共40分&#xff09;四…

卷技术还是卷应用?李彦宏给出了明确答案

如何理解李彦宏说的“不要卷模型&#xff0c;要卷应用” 引言 7月4日&#xff0c;2024世界人工智能大会在上海世博中心召开。百度创始人兼CEO李彦宏在产业发展主论坛上呼吁&#xff1a;“大家不要卷模型&#xff0c;要卷应用&#xff01;”这句话引起了广泛讨论。李彦宏认为&a…

【python】PyQt5对象类型的判定,对象删除操作详细解读

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

2款一键word生成ppt的AI工具,让职场办公更为简单!

在当下主打异步沟通的职场办公环境中&#xff0c;我们与很多人的沟通&#xff0c;都是通过书面材料来达成的&#xff0c;这就让 Word 或文档编辑软件变得更为重要&#xff0c;与此同时&#xff0c;有时为了凸现书面材料中的重点&#xff0c;我们还要将 word 文档转换为 ppt 来进…

设计模式使用简例(简单工厂+策略模式+模板方法)

直接上代码&#xff0c;方便记忆。主要的要点&#xff0c;已经写到注释中。 一&#xff0c;代码展示 启动类 package com.rojer;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootAppli…

代码随想录算法训练营第四十八天| 115.不同的子序列、583. 两个字符串的删除操作、 72. 编辑距离

115.不同的子序列 题目链接&#xff1a;115.不同的子序列 文档讲解&#xff1a;代码随想录 状态&#xff1a;不会 思路&#xff1a; dp[i][j] 表示在 s 的前 j 个字符中&#xff0c;t 的前 i 个字符作为子序列出现的次数。 匹配的情况&#xff1a; 1.当 s[j-1] 与 t[i-1] 匹配…

TextView 实现最后一行缩进指定距离

实现图上类似的效果。 指定最大行数为三行&#xff0c;最后一行缩进指定的距离。 如果行数小于三行&#xff0c;则不缩进。 同时文字两端对齐 代码里的 JustifyTextView &#xff08;两端对齐的 Textview &#xff09;详见 Android Textview 多行文本两端对齐_android tex…

混合贪心算法求解地铁线路调度

一、问题描述 城市轨道交通的繁荣发展&#xff0c;带来了车辆资源需求的日益增加。如何兼顾运营服务水平和运营成本&#xff0c;以最少的车底优质地完成运输任务成为一大严峻问题。本题在后续的描述中将由多辆动车和拖车组合而成的车组称为车底。在日常的运营组织中&#xff0…

单链表(C语言详细版)

1. 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构跟火车车厢相似&#xff0c;淡季时车次的车厢会相应减少&#xff0c;旺季时车次的车厢会额外增加几节。…

elasticsearch SQL:在Elasticsearch中启用和使用SQL功能

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

苍穹外卖--导入分类模块功能代码

把各层代码拷贝到所需文件夹下&#xff0c; 进行编译 在运行 提交和推送仓库

C++:C++入门基础|命名空间|输入输出

欢迎来到HarperLee的学习笔记&#xff01; 博主主页传送门&#xff1a; HarperLee的博客主页! 想要一起进步的uu来后台哦&#xff01; 一、什么是C? 在此之前&#xff0c;我们所学习的C语言是一种结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&a…

【STM32】MDK的编译过程及文件类型全解

1.编译过程简介 编译&#xff1a;MDK软件使用的编译器是armcc和armasm&#xff0c; 它们根据每个c/c和汇编源文件编译成对应的以“.o”为后缀名的对象文件(Object Code&#xff0c;也称目标文件)&#xff0c; 其内容主要是从源文件编译得到的机器码&#xff0c;包含了代码、数据…

怎么压缩ppt?这几种压缩方法大家都在用!

怎么压缩ppt&#xff1f;当我们沉浸在PPT创作的海洋中&#xff0c;每一个精心的布局、每一个动人的动画&#xff0c;都仿佛是我们心血的结晶&#xff0c;然而&#xff0c;随着我们不断雕琢&#xff0c;PPT文件的大小也在悄然增长&#xff0c;如同一只隐形的巨兽&#xff0c;在不…

无线充电宝哪个牌子好?绿联、西圣、小米充电宝测评对比!

随着科技的不断进步和智能设备的普及&#xff0c;无线充电宝逐渐成为了现代人生活中的必需品。它们不仅方便了我们的日常充电需求&#xff0c;更减少了线缆的束缚&#xff0c;提高了使用的便捷性。在众多品牌中&#xff0c;绿联、西圣和小米作为市场上广受好评的无线充电宝品牌…