Vue笔记_03组件_mavonEditor组件(基于vue)

news2024/11/16 9:42:46

目录

      • 下载mavonEditor
      • 导入并注册mavonEditor组件
        • [1] 全局注册
        • [2]局部注册
      • 使用mavonEditor
        • 属性修改
          • 举例说明1-不展示预览分屏
          • 工具栏修改
            • 举例说明-根据配置显示工具栏
            • 编辑器插槽
            • 举例说明-自定义工具栏按钮
        • 函数监听

下载mavonEditor

使用命令 npm install mavon-editor --s 进行下载;

导入并注册mavonEditor组件

[1] 全局注册

import { mavonEditor } from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'
Vue.use(mavonEditor)

[2]局部注册

<script>
import { mavonEditor } from 'mavon-editor'
export default{
  components:{
    mavonEditor
  }
}
</script>
<style>
@import 'mavon-editor/dist/css/index.css'
</style>
  • 此时会报错
    在这里插入图片描述
    在这里插入图片描述

    • css文件找不到
  • 解决1:将组件进行局部注册,但是css文件进行全局引入

    <script>
    import { mavonEditor } from 'mavon-editor'
    export default{
     components:{
       mavonEditor
     }
    }
    </script>
    
      // main.js文件
      import 'mavon-editor/dist/css/index.css'
    
  • 解决2: 局部注册

    <script>
    import { mavonEditor } from 'mavon-editor'
    export default{
    components:{
     mavonEditor
    }
    }
    </script>
    <style>
    @import '../../../node_modules/mavon-editor/dist/css/index.css';
    </style>
    
  • 总结:(感觉是)

    • 在main.js文件引入node_modules中的样式文件会自动以node_modules 作为当前路径进行查找;
    • 在组件中引入会以当前组件所在的文件夹作为当前路径进行查找;

使用mavonEditor

在注册之后直接当做标签使用

  <mavon-editor v-model="form.content"/>

默认为如下样式
在这里插入图片描述
如果想要修改一些默认样式,比如默认不显示预览区域,请看属性修改

属性修改

mavonEditior的属性如下:
在这里插入图片描述

举例说明1-不展示预览分屏
  <mavon-editor 
    v-model="detail.content" 
    defaultOpen="edit"
  >

在这里插入图片描述

工具栏修改

有时不想在工具栏展示如此多的选项,就可以使用toolbars属性中进行修改。
toolbars属性为一个对象,具体属性如下:

  toolbars: {
    bold: true, // 粗体
    italic: true, // 斜体
    header: true, // 标题
    underline: true, // 下划线
    strikethrough: true, // 中划线
    mark: true, // 标记
    superscript: true, // 上角标
    subscript: true, // 下角标
    quote: true, // 引用
    ol: true, // 有序列表
    ul: true, // 无序列表
    link: true, // 链接
    imagelink: true, // 图片链接
    code: true, // code
    table: true, // 表格
    fullscreen: true, // 全屏编辑
    readmodel: true, // 沉浸式阅读
    htmlcode: true, // 展示html源码
    help: true, // 帮助
    undo: true, // 上一步
    redo: true, // 下一步
    trash: true, // 清空
    save: true, // 保存(触发events中的save事件)
    navigation: true, // 导航目录
    alignleft: true, // 左对齐
    aligncenter: true, // 居中
    alignright: true, // 右对齐
    subfield: true, // 单双栏模式
    preview: true // 预览
 },
举例说明-根据配置显示工具栏

在这里插入图片描述
如上图-> 只想展示这几个工具

  <mavon-editor 
     v-model="detail.content" 
     defaultOpen="edit"
     :toolbars="toolbars"
 />
this.toolbars = {
  bold: true, // 粗体
  italic: true, // 斜体
  underline: true, // 下划线
  alignleft: true, // 左对齐
  aligncenter: true, // 居中
  alignright: true, // 右对齐
  ol: true, // 有序列表
  link: true, // 链接
  imagelink: true, // 图片链接
  preview: true, // 预览
  undo: true, // 上一步
  redo: true, // 下一步
}

配置之后的工具栏如下图:
在这里插入图片描述

编辑器插槽

编辑器其实带有四个插槽,分别是左工具栏前,左工具栏后,右工具栏前,右工具栏后

  • left-toolbar-before
  • left-toolbar-after
  • right-toolbar-before
  • right-toolbar-after
    可以使用这几个插槽进行一个自定义工具栏按钮的封装。
举例说明-自定义工具栏按钮

在这里插入图片描述
如上图想做一个用户可以修改输入文本的字体大小的功能;

实现-html
使用插槽自定义一个工具栏下拉框

  <mavon-editor 
  v-model="detail.content" 
  ref="mavoneditor"
  :font-size="mavonEditorValue.fontSize+'px'"
  defaultOpen="edit"
>
  <template v-slot:left-toolbar-before>
    <el-select 
      v-model="mavonEditorValue.currentfontSize" 
      class='fontsizestyle' 
      size="mini"
      @change="mavonfontsizechange"
    >
      <el-option
        v-for="item in fontSizeOptions"
        :key="item.value"
        :label="item.label"
        :value="item.value">
      </el-option>
    </el-select>
  </template>
</mavon-editor>

javsscript
文本内容的字体大小是通过 属性 fontSize 来设置的默认是14px;
当用户修改下拉框选中值时,手动修改fontSize属性值

methods:{
 mavonfontsizechange(value) {
    this.mavonEditorValue.fontSize = value
 }
}

函数监听

111

参考文档

  • https://blog.csdn.net/qq_43403676/article/details/124409715
  • https://baijiahao.baidu.com/s?id=1741781552687901491&wfr=spider&for=pc
  • https://www.jianshu.com/p/381f7f4d8ad9
  • https://blog.csdn.net/qq_22841387/article/details/118602316

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Koa 6 响应(Response)

Koa Koa 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 6 响应(Response) 文章目录Koa6 响应(Response)6.1 APIStringBufferStreamObjectKoa Response 对象是在 node 的原生响应对象之上的抽象&#xff0c;提供了诸多对 HTTP 服务器开发有用的功能。 6…

Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版)

Linux系统移植流程 之前一直用官方给的Linux系统文件&#xff0c;没有自己系统地移植过&#xff0c;故整理一遍 不使用petalinux工具&#xff0c;尽管它提升了开发效率&#xff0c;但是不利于学习移植过程 嵌入式Linux系统移植主要由四大部分组成&#xff1a; 搭建交叉开发环…

【计算机网络】实验四 应用层和传输层协议分析(PacketTracer)

一.实验目的 通过本实验&#xff0c;熟悉PacketTracer的使用&#xff0c;学习在PacketTracer中仿真分析应用层和传输层协议&#xff0c;进一步加深对协议工作过程的理解。 二.实验内容 研究应用层和传输层协议 从 PC 使用 URL 捕获 Web 请求&#xff0c;运行模拟并捕获通信…

健身用什么耳机比较好、五款适合健身房运动的耳机推荐

大家都运动本身是一件特别枯燥无味的事情&#xff0c;尤其是一个人在健身房沉浸式撸铁的时候&#xff0c;而听音乐是大多数人缓解枯燥的首选&#xff0c;不过在健身的过程中拥有一款既要音质好、又要适合运动佩戴防水防汗的耳机可就不那么容易了。今天给大家推荐几款最佳的运动…

如何在lnmp中实现PHP多版本共存

背景&#xff1a;one框架需要swool扩展&#xff0c;同时php版本需要7.3&#xff0c;目前服务器安装的是lnmp1.6其中php5.6. 所以觉得安装一个php7.3作为切换版本 &#xff0c;以下是安装步骤 1.查找lnmp的install.sh文件&#xff0c;一般在/root/lnmp1.5/install.sh 下执行命令…

【Docker】Compose容器编排:微服务实战

Docker-Compose是Docker官方的开源项目&#xff0c; 负责实现对Docker容器集群的快速编排。是一个工具软件&#xff0c;可以 管理多个 Docker 容器 组成一个应用。你需要 定义一个 YAML 格式的配置文件docker-compose.yml &#xff0c;写好多个容器之间的调用关系。然后&#x…

GeoTools快速入门

本文将帮助读者获取GeoTools的源代码并进行编译。下载源代码并进行编译有助于读者对GeoTools建立整体性的理解&#xff0c;帮助读者厘清GeoTools的模块划分。同时因为GeoTools是一个开源类库&#xff0c;读者在实际使用中遇到的一些问题可以通过直接阅读GeoTools源代码来进行解…

vue3+ts项目中封装3d单柱柱状图

vue3ts项目中封装单柱的柱状图 成品图 下载echarts npm i echarts 封装组件为Barchart.vue文件 <template> </template><script setup lang"ts"> import { nextTick, watch } from vue import echarts from /assets/ts/echarts; import useRes…

[附源码]计算机毕业设计在线项目管理Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

十三、Vue CLI(2)

本章概要 项目结构编写一个 Hello 组件package.json 13.4 项目结构 通过 Vue CLI 生成的项目的目录结构及各文件夹和文件的用途说明如下&#xff1a; |--node_modules //项目依赖的模块 |--public //该目录下的文件不会被 Webpack 编译压缩处理&…

Springboot社区疫情防控系统毕业设计,社区疫情防控管理系统设计与实现,毕设作品参考

功能清单 【后台管理员功能】 关于我们设置&#xff1a;设置学校简介、联系我们、加入我们、法律声明、学校详情 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信…

【树莓派开发日记2 】树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录

树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录 在成功进行了组装后&#xff0c;就到了最为关键的部分了&#xff0c;进行树莓派的系统烧录。虽然树莓派有自己对应的系统&#xff0c;raspbian&#xff0c;但是绝大部分的开发者还是会选择Ubuntu系统作为主要的开发系统 Ub…

软件架构模式

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;瞳孔空间 创建软件系统基本结构的原则称为软件体系结构。软件结构由软件元素及其相互关系组成&#xff0c;这些元素起着蓝图的作用&#xff0c;规划了要执行的任务的模式。软件设计团队极大地依赖于…

【java】2-串行与并发分别将计数器从1累加到10亿

串行、并行、并发 串行是100个人的队伍从一条通道里顺序通行 并行是100个人从n(n>1)条通道分别通行 并发是只有一条通道&#xff0c;100个人排成n个队伍&#xff0c;每队依次派一个人从通道通行&#xff1b;或是有m条通道&#xff0c;100个人排成n个队伍&#xff0c;各个队…

[附源码]计算机毕业设计SpringBoot心理健康系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Spark3 AQE (Adaptive Query Execution) 一文搞懂 新特性

Spark 3 AQE (Adaptive Query Execution) 序 在搭建平台的过程中&#xff0c;我们使用 CDH 6.3.2 进行搭建&#xff0c;但 CDH 中阉割掉了 spark-sql 功能&#xff0c;所以我们外挂了 Spark 3&#xff0c;补充 spark-sql 功能&#xff0c;版本为 3.3。在使用的过程中&#xff…

【抓包工具】win 10 / win 11:WireShark 下载、安装、使用

目录 一、WireShark 下载 二、WireShark 安装 &#xff08;1&#xff09;双击运行安装程序 &#xff08;2&#xff09;Choose Components&#xff1a;选择组件 &#xff08;3&#xff09;Additional Tasks&#xff1a;附加任务 &#xff08;4&#xff09;Choose lnstall …

精品基于Java的社区团购系统SSM

《基于Java的社区团购系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xf…

【JUC】并发编程学习笔记(二)

JUC并发编程五、多线程锁5.1、synchronized实现同步的基础5.2、公平锁与非公平锁5.3、可重入锁5.4、死锁5.4.1、概念5.4.2、案例5.4.3、查看死锁六、Callable接口6.1、概述6.2、FutureTask概述和原理6.3、案例七、辅助类7.1、减少计数CountDownLatch7.2、循环棚栏CyclicBarrier…

[HITCON CTF 2022] Superprime,rev Meow_way,BabySSS格基约减法,Secret共模攻击模未知

目录 Superprime Reverse Meow_way BabySSS Secret Superprime 这个题5层RSA加密&#xff0c;很简单就是要带条件爆破5组p,q&#xff0c;一开始看错了&#xff0c;对为5组是一一对应的&#xff0c;回头发现后边两对不是对应的。 from Crypto.Util.number import getPrime,…