Vue3中使用富文本编辑器的方法详解

 更新时间:2024年01月17日 10:40:34   作者:Csharp 小记  
这篇文章主要为大家详细介绍了如何在Vue3中使用富文本编辑器,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以参考一下

前言

由于近年来Web做的比较少,即便做一些后台管理系统,基本也都没要求富文本编辑器,让我一度以为这东西没人用了,突然就想起来最开始使用富文本编辑器得时候还是写Asp.Net WebForm,那个时候好像都用FckEditor还是Ueditor来着。不过由于前后端分离得原因,使我不得不去寻找使用与Vue的富文本编辑器,随便搜索一下,蛮多的,然后翻两页,发现tinymce的使用文档不少,想想就它吧,可是我着实没想到啊,查到的文档大部分在vue3中都不能用,所以就不得不结合一些博客以及官方文档来实现

不过也是我的问题吧,对于前端的知识就了解那么点,多少费了点周折。

以下可参考官网:https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/

开发工具:Visual Studio Code

实现步骤

1.首先新建一个Vue3项目,emmm,这一步其实是不需要的,一般我们都是集成到自己项目中的

npm create vue@3
//然后按照提示一步步走就行了,环境问题不在此考虑,创建完成之后CD进目录

2.安装tinymce包

npm install @tinymce/tinymce-vue -S

3.下载汉化资源https://www.tiny.cloud/get-tiny/language-packages/,找到zh-相关的下载即可,解压后将langs文件夹放在public目录下

4.将node_modules/tinymce/skins文件夹复制到public目录下

5.将富文本框组件化,方便调用,内容如下

<template>
  <Editor :disabled="disabled" :init="init" :api-key="apiKey" style="width: 100%" />
</template>
<script setup>
import tinymce from "tinymce/tinymce"; //tinymce核心文件
import Editor from "@tinymce/tinymce-vue";

import "tinymce/models/dom"; // 引入dom模块。从 Tinymce6,开始必须有此模块导入
import "tinymce/themes/silver"; //默认主题
import "tinymce/icons/default"; //引入编辑器图标icon

import 'tinymce/plugins/code'//引入需要的插件

const apiKey = "qagffr3pkuv17a8on1afax661irst1hbr4e6tbv888sz91jc";

const init = {
  height: 300,
  language_url: "./tinymce/langs/zh-Hans.js",
  language: "zh-Hans",
  skin_url: "./tinymce/skins/ui/oxide",
  content_css: "./tinymce/skins/content/default/content.css",
  branding: false,
  menubar: false,
  statusbar: true,
  plugins: "code",//插件列表,需要先引入插件对应的包
  toolbar:
    "undo redo |fontsize bold italic underline strikethrough forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent blockquote | lists image media table | codesample code removeformat save preview",
};//显示在工具栏中的菜单
</script>

6.调用

<template>
  <div style="width: 80vw">
    <TinymceEditor v-model="data"></TinymceEditor>
  </div>
  <div>
    <button @click="getInput" >获取</button>
  </div>
</template>
<script setup>
import TinymceEditor from "./components/TinymceEditor.vue";
import { ref, onMounted, watch } from "vue";
const data = ref("");
const getInput = () => {
  alert(data.value);
};
</script>

<style scoped></style>

由于我需要的还是比较简单的功能,所以像图片上传之类的就没做,有需要可以直接参考官网

实现效果

到此这篇关于Vue3中使用富文本编辑器的方法详解的文章就介绍到这了,更多相关Vue3富文本编辑器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Vue制作图片轮播组件思路详解

    使用Vue制作图片轮播组件思路详解

    这篇文章主要介绍了使用Vue制作图片轮播组件思路详解,需要的朋友可以参考下
    2018-03-03
  • Django+Vue.js搭建前后端分离项目的示例

    Django+Vue.js搭建前后端分离项目的示例

    本篇文章主要介绍了Django+Vue.js搭建前后端分离项目的示例,具有一定参考价值,有兴趣的可以了解一下
    2017-08-08
  • Vue中的nextTick作用和几个简单的使用场景

    Vue中的nextTick作用和几个简单的使用场景

    这篇文章主要介绍了Vue中的nextTick作用和几个简单的使用场景,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2021-01-01
  • 解决vue中props对象中设置多个默认值的问题

    解决vue中props对象中设置多个默认值的问题

    props中设置了默认值,但是获取时(获取父页面没有传的属性) 打印出来是undefined,所以本文给大家介绍了解决vue中props对象中设置多个默认值的问题,需要的朋友可以参考下
    2024-04-04
  • Vue3中组件数据通信方式总结

    Vue3中组件数据通信方式总结

    如果在面试中,面试官问你Vue组件之间有哪些数据通信方式,你会怎么回复,不要担心,本文为大家整理了超全的Vue3中组件数据通信方式,需要的小伙伴快收藏起来吧
    2023-06-06
  • vue-property-decorator用法详解

    vue-property-decorator用法详解

    这篇文章主要介绍了vue-property-decorator用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • vue v-on传递参数和事件修饰符的使用

    vue v-on传递参数和事件修饰符的使用

    本文主要介绍了vue v-on传递参数和事件修饰符的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • vue中的面包屑导航组件实例代码

    vue中的面包屑导航组件实例代码

    这篇文章主要介绍了vue的面包屑导航组件,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Vue vant-ui框架实现上拉加载下拉刷新功能

    Vue vant-ui框架实现上拉加载下拉刷新功能

    功能需求——获取后端接口返回的数据,实现列表数据上滑加载更多下一页数据,下拉数据刷新功能,结合vant-ui框架实现。可直接参考使用
    2022-09-09
  • 一步步从Vue3.x源码上理解ref和reactive的区别

    一步步从Vue3.x源码上理解ref和reactive的区别

    vue3的数据双向绑定,大家都明白是proxy数据代理,但是在定义响应式数据的时候,有ref和reactive两种方式,如果判断该使用什么方式,是大家一直不很清楚地问题,下面这篇文章主要给大家介绍了关于从Vue3.x源码上理解ref和reactive的区别的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论