不光好上手,功能还特强的 Vue 3组件!且开源免费!

简介: 不光好上手,功能还特强的 Vue 3组件!且开源免费!

wangEditor 这玩意儿是开源的 Web 富文本编辑器,用起来那叫一个方便,配置简单得很😃。不光好上手,功能还特强👍。

它能够快速接入,只需几行代码即可生成,并且集成了所有常见功能,无需二次开发,在 Vue、React 等框架中也可以迅速接入。wangEditor 还提供了官方的 Vue、React 组件。

使用简单

下面是在 Vue 中使用 @wangeditor/editor 的基础步骤示例:

1. 下载依赖

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

2. 引入 CSS 和内置组件

<template>
  <div style="border:1px solid #ccc">
    <!-- 引入 CSS -->
    <link rel="stylesheet" href="@wangeditor/editor/dist/css/style.css" />
    <!-- 引入组件 -->
    <toolbar :editor="editorRef" :defaultConfig="toolbarConfig" :mode="mode" />
    <editor
      style="height: 500px; overflow-y: hidden;"
      v-model="valueHtml"
      :defaultConfig="editorConfig"
      :mode="mode"
      @onCreated="handleCreated"
    />
  </div>
</template>
<script setup>
  import { editor, toolbar } from '@wangeditor/editor-for-vue';
  import { shallowRef, ref } from 'vue';
  // 编辑器实例,必须用 shallowRef
  const editorRef = shallowRef();
  // 内容 html
  const valueHtml = ref('<p>hello</p>');
  // 工具栏配置
  const toolbarConfig = {
    toolBarKeys: () => [
      // 一些常用的菜单 key
      'bold', // 加粗
      'italic', // 斜体
      'through', // 删除线
      'underline', // 下划线
      'bulletedList', // 无序列表
      'numberedList', // 有序列表
      'color', // 文字颜色
      'insertLink', // 插入链接
      'fontSize', // 字体大小
      'lineHeight', // 行高
      'uploadImage', // 上传图片
      'uploadVideo', // 上传视频
      'delIndent', // 缩进
      'indent', // 增进
      'deleteImage', // 删除图片
      'divider', // 分割线
      'insertTable', // 插入表格
      'justifyCenter', // 居中对齐
      'justifyJustify', // 两端对齐
      'justifyLeft', // 左对齐
      'justifyRight', // 右对齐
      'undo', // 撤销
      'edo', // 重做
      'clearStyle', // 清除格式
      'fullScreen' // 全屏
    ],
  };
  // 编辑器配置
  const editorConfig = {
    placeholder: '请输入内容...',
    menu_conf: {},
  };
  // 组件销毁时,也及时销毁编辑器
  onBeforeUnmount(() => {
    const editor = editorRef.value;
    if (editor == null) return;
    editor.destroy();
  });
  // 组件创建时
  const handleCreated = (editor) => {
    editorRef.value = editor; // 记录 editor 实例,重要!
  };
</script>

3. 自定义工具栏菜单的展示

如果想要自定义工具栏菜单的顺序、分组、添加或删除等,只需修改工具栏配置对象的toolBarKeys属性。该属性值是一个数组,内部填写菜单的 key,使用官方 API 接口editor.getAllMenuKeys()可查询全部内置菜单的 key。

4. 自定义工具栏内置菜单的功能

比如自定义上传图片、上传视频等功能,只需修改编辑器配置对象的menu_conf属性。不同的功能对应着不同的menu_conf属性值,具体可参考官方文档。

5. 兼容性

它兼容主流的 PC 浏览器,如 Chrome、Firefox、Safari、Edge 等,但暂不支持移动端编辑(支持移动端查看),也不再支持 IE 浏览器。

6. 其他特性

wangEditor 开源多年,有大量用户使用和反馈,开发者已经解决了众多用户问题(详见 github issues)。

总结

总之,@wangeditor/editor 是一款非常实用的 Web 富文本编辑器,它的简单易用、功能强大以及良好的兼容性,使其在众多项目中都能发挥出色的作用👏。

如果你正在寻找一款优秀的富文本编辑器,不妨试试它吧!😜

相关文章
|
4月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
399 2
|
3月前
|
JavaScript 前端开发 安全
Vue 3
Vue 3以组合式API、Proxy响应式系统和全面TypeScript支持,重构前端开发范式。性能优化与生态协同并进,兼顾易用性与工程化,引领Web开发迈向高效、可维护的新纪元。(238字)
658 139
|
3月前
|
缓存 JavaScript 算法
Vue 3性能优化
Vue 3 通过 Proxy 和编译优化提升性能,但仍需遵循最佳实践。合理使用 v-if、key、computed,避免深度监听,利用懒加载与虚拟列表,结合打包优化,方可充分发挥其性能优势。(239字)
324 1
|
4月前
|
开发工具 iOS开发 MacOS
基于Vite7.1+Vue3+Pinia3+ArcoDesign网页版webos后台模板
最新版研发vite7+vue3.5+pinia3+arco-design仿macos/windows风格网页版OS系统Vite-Vue3-WebOS。
503 11
|
3月前
|
JavaScript 安全
vue3使用ts传参教程
Vue 3结合TypeScript实现组件传参,提升类型安全与开发效率。涵盖Props、Emits、v-model双向绑定及useAttrs透传属性,建议明确声明类型,保障代码质量。
374 0
|
5月前
|
缓存 前端开发 大数据
虚拟列表在Vue3中的具体应用场景有哪些?
虚拟列表在 Vue3 中通过仅渲染可视区域内容,显著提升大数据列表性能,适用于 ERP 表格、聊天界面、社交媒体、阅读器、日历及树形结构等场景,结合 `vue-virtual-scroller` 等工具可实现高效滚动与交互体验。
560 1
|
5月前
|
缓存 JavaScript UED
除了循环引用,Vue3还有哪些常见的性能优化技巧?
除了循环引用,Vue3还有哪些常见的性能优化技巧?
331 0
|
3月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
361 137
|
7月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
887 0
|
7月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能

热门文章

最新文章