Vue3中使用富文本編輯器的方法詳解
前言
由于近年來Web做的比較少,即便做一些后臺(tái)管理系統(tǒng),基本也都沒要求富文本編輯器,讓我一度以為這東西沒人用了,突然就想起來最開始使用富文本編輯器得時(shí)候還是寫Asp.Net WebForm,那個(gè)時(shí)候好像都用FckEditor還是Ueditor來著。不過由于前后端分離得原因,使我不得不去尋找使用與Vue的富文本編輯器,隨便搜索一下,蠻多的,然后翻兩頁,發(fā)現(xiàn)tinymce的使用文檔不少,想想就它吧,可是我著實(shí)沒想到啊,查到的文檔大部分在vue3中都不能用,所以就不得不結(jié)合一些博客以及官方文檔來實(shí)現(xiàn)
不過也是我的問題吧,對于前端的知識(shí)就了解那么點(diǎn),多少費(fèi)了點(diǎn)周折。
以下可參考官網(wǎng):https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/
開發(fā)工具:Visual Studio Code
實(shí)現(xiàn)步驟
1.首先新建一個(gè)Vue3項(xiàng)目,emmm,這一步其實(shí)是不需要的,一般我們都是集成到自己項(xiàng)目中的
npm create vue@3 //然后按照提示一步步走就行了,環(huán)境問題不在此考慮,創(chuàng)建完成之后CD進(jìn)目錄
2.安裝tinymce包
npm install @tinymce/tinymce-vue -S
3.下載漢化資源https://www.tiny.cloud/get-tiny/language-packages/,找到zh-相關(guān)的下載即可,解壓后將langs文件夾放在public目錄下
4.將node_modules/tinymce/skins文件夾復(fù)制到public目錄下
5.將富文本框組件化,方便調(diào)用,內(nèi)容如下
<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,開始必須有此模塊導(dǎo)入 import "tinymce/themes/silver"; //默認(rèn)主題 import "tinymce/icons/default"; //引入編輯器圖標(biāo)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",//插件列表,需要先引入插件對應(yīng)的包 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.調(diào)用
<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>
由于我需要的還是比較簡單的功能,所以像圖片上傳之類的就沒做,有需要可以直接參考官網(wǎng)
實(shí)現(xiàn)效果
到此這篇關(guān)于Vue3中使用富文本編輯器的方法詳解的文章就介紹到這了,更多相關(guān)Vue3富文本編輯器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 使用v-for進(jìn)行循環(huán)的實(shí)例代碼詳解
這篇文章主要介紹了vue 使用v-for進(jìn)行循環(huán)的實(shí)例代碼詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Vue基于localStorage存儲(chǔ)信息代碼實(shí)例
這篇文章主要介紹了Vue基于localStorage存儲(chǔ)信息代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11vue實(shí)現(xiàn)的多頁面項(xiàng)目如何優(yōu)化打包的步驟詳解
這篇文章主要介紹了vue實(shí)現(xiàn)的多頁面項(xiàng)目如何優(yōu)化打包的步驟詳解,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Vue使用pdfobject實(shí)現(xiàn)預(yù)覽pdf的示例詳解
PDFObject?是一個(gè)?JavaScript?庫用來在HTML中動(dòng)態(tài)嵌入?PDF?文檔。這篇文章主要為大家詳細(xì)介紹了使用pdfobject實(shí)現(xiàn)預(yù)覽pdf的功能,需要的可以了解一下2023-03-03vue中同時(shí)監(jiān)聽多個(gè)參數(shù)的實(shí)現(xiàn)
這篇文章主要介紹了vue中同時(shí)監(jiān)聽多個(gè)參數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04