vue2+wangeditor富文本域

news/2024/7/10 1:48:47 标签: javascript, 富文本域, vue

vue2+wangeditor富文本域

    • 效果图
    • 安装依赖
    • 初始化
    • 简约模式
    • 自定义模式
    • 图片设置
      • 只允许 base64 方式
      • 支持图片服务器
    • 更多配置
    • 项目依赖
    • 项目代码

效果图

请添加图片描述

安装依赖

npm i @wangeditor/editor @wangeditor/editor-for-vue

初始化

<template>
  <div class="editor-box">
    <Toolbar
      :defaultConfig="toolbarConfig"
      :editor="editor"
      :mode="mode" />
    <Editor
      class="editor-box__textarea"
      :defaultConfig="editorConfig"
      :mode="mode"
      @onCreated="onCreated" />
  </div>
</template>
<script>
import { Toolbar, Editor } from '@wangeditor/editor-for-vue'
import '@wangeditor/editor/dist/css/style.css'
export default {
  name: 'App',
  components: {
    Toolbar, Editor
  },
  data() {
    return {
      editor: null,
      mode: 'default',
      toolbarConfig: {},
      editorConfig: {},
    }
  },
  beforeDestroy() {
    const editor = this.editor
    if(editor === null) return
    editor.destroy()
  },
  methods: {
    onCreated(editor) {
      this.editor = Object.seal(editor)
    }
  }
}
</script>

wangeditor 默认是没有边框的,为了更好的看到富文本域,给容器加一个边框,同时给编辑的文本域高度增加

<style>
.editor-box{
  border: 1px solid #e5e5e5;
}
.editor-box__textarea{
  height: 200px;
}
</style>

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

简约模式

如果你觉得功能太多了,想要个更简约的富文本域,可以直接将 mode 设置为 simple,效果图:
在这里插入图片描述

自定义模式

如果 simpledefault 都不能完全满足你的需求,想自定义不显示指定功能,可以通过 toolbarConfig 设置项。

toolbarConfig: {
	excludeKeys: ['emotion', ...]
}

excludeKeys 里面的 key 就是你设置的不想要展示的功能项,如何获取到这个 key 呢?
控制台 F12 打开审查元素,找到富文本域的页面元素:
在这里插入图片描述
元素的 data-menu-key 的值就是这个 key 值。

图片设置

只允许 base64 方式

这里为了方便,设置图片都必须转成 base64 格式

editorConfig: {
  placeholder: '请输入内容',
  MENU_CONF: {
    uploadImage: {
      server: 'xxx',
      base64LimitSize: 1 * 1024 * 1024, // > 1M 的图片不转成base64
      onBeforeUpload(file) {
        const keys = Object.keys(file)
        if(file[keys[0]].size / (1024 * 1024) > 1) {
          alert('图片大小不能超过 1M.')
        }
      }
    }
  }
}
  • base64LimitSize设置最大转换 base64 的图片极限值为 1M
  • 当上传的图片大小 > 1M 时,会走图片服务器,也就是 server,所以 server 必须给个值,为空会报错:服务器地址为空
  • 为了让 > 1M 的图片不走我们设置的虚假服务器地址,设置 onBeforeUpload 方法,判断图片大小,大于 1M 就给出提示

支持图片服务器

暂未涉及,等待补充…

更多配置

更多配置详见于wangEditor中文文档

项目依赖

"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^1.0.2",
"vue": "^2.6.14"

项目代码

代码仓库


http://www.niftyadmin.cn/n/355435.html

相关文章

1134 Vertex Cover(34行代码+详细注释)

分数 25 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. Now given a graph with several vertex sets, you are supposed to t…

【投毒情报】PyPI中 colorara 等组件包泄漏主机截屏等敏感信息

漏洞描述 PyPI仓库中受影响版本的 colorara 和 libida组件在安装过程中会根据不同操作系统分别执行恶意逻辑&#xff0c;针对Windows执行White Snake远控木马&#xff0c;针对Linux收集系统截屏、主机名、用户名、IP等主机敏感信息发送至telegram。 漏洞名称PyPI中 colorara …

阿里大佬随手甩出一份覆盖全网的微服务架构笔记,让我涨薪60%

在这个凡事皆互联的时代&#xff0c;越来越多的人和物成为互联网上的节点&#xff0c;不断扩充着互联网这张大网的边界。节点即价值&#xff0c;更多的节点意味着更大的价值。 微服务在这个互联网时代依旧是最火热的技术之一&#xff0c;在当下互联网企业不懂微服务是不行的&a…

和月薪5W的京东程序员聊过后,才知道自己一直在打杂...

前几天和一个朋友聊面试&#xff0c;他说上个月同时拿到了腾讯和京东的offer&#xff0c;最后选择了京东。 京东内部将员工一共分为了14个等级&#xff0c;P6是资深工程师&#xff0c;P7是技术专家。 其中P6和P7就是一个分水岭了&#xff0c;P6是最接近P7的不持股员工&#x…

MT4期货软件怎么使用?有哪些MT4期货软件使用知识?

现在MT4软件在投资市场上应用广泛&#xff0c;当然也包括期货交易市场&#xff0c;但有不少投资者不知道为什么一定要选择MT4期货软件&#xff0c;其实选择MT4期货软件的理由有很多&#xff0c;MT4作为一款交易软件&#xff0c;不仅能够为投资者提供准确的市场信息&#xff0c;…

Semantic Kernel VS LangChain

每当向他人介绍 Semantic Kernel&#xff0c;会得到的第一个问题就是 Semantic Kernel 类似于 LangChain 吗&#xff1f;或者是 C# 版本的 LangChain 吗&#xff1f;因此我总结了这篇文章。 微软MVP实验室研究员 张善友 深圳友浩达 CTO & 首席架构师&#xff0c;微软最有价…

项目管理PMP好考吗,没有经验?

现在越来越多的产品经理和开发人员也投入到考PMP的大军中&#xff0c;在真实的项目中也会有很多产品经理兼任项目经理的职责&#xff0c;这点还是比较常见的&#xff0c;如果说产品或者开发人员考了PMP证书&#xff0c;本身也会让你在找工作的大军中更具有优势&#xff0c;俗话…

华为OD机试之字符串序列判定(Java源码)

字符串序列判定 题目描述 输入两个字符串S和L&#xff0c;都只包含英文小写字母。S长度<100&#xff0c;L长度<500,000。 判定S是否是L的有效子串。 判定规则&#xff1a; S中的每个字符在L中都能找到&#xff08;可以不连续&#xff09;&#xff0c;且S在&#xff2c;中…