位置: IT常识 - 正文

CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor)

编辑:rootadmin
CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily 基本使用

推荐整理分享CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue ckeditor5,vue editorconfig,vue editormd,vue ckplayer,vue ckplayer,vue ckeditor5,vue editormd,vue ckeditor,内容如对您有帮助,希望把文章链接给更多的朋友!

官网地址:https://ckeditor.com/ckeditor-5/online-builder/ 官网提供了以下几种模式,一般使用经典模式居多,具体差别可访问官网自己试一下。

基本的使用方法(经典模式),先别急着操作,看完再决定使用哪种方法。

//下载ckeditor5-vuenpm install @ckeditor/ckeditor5-vue//下载经典模式npm install @ckeditor/ckeditor5-build-classic代码<template> <div id="ckeditor"> <ckeditor ref="editorRef" v-model="editorDesign" :editor="editor" :config="editorConfig" :disabled="disabled" @ready="onEditorReady" @focus="onEditorFocus" @blur="onEditorBlur" @input="onEditorInput" @destroy="onEditorDestroy" ></ckeditor> </div></template><script setup>import { ref, reactive } from 'vue'import ClassicEditor from '@ckeditor/ckeditor5-build-classic'import '@ckeditor/ckeditor5-build-classic/build/translations/zh-cn.js' //引入中文包const props = defineProps({ disabled: { type: Boolean, default: false, //是否禁用 },})const editor = ClassicEditorconst editorDesign = ref('') //默认内容const editorConfig = reactive({ language: 'zh-cn', toolbar: { items: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'outdent', 'indent', '|', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo'], }, language: 'zh', image: { toolbar: ['imageTextAlternative', 'toggleImageCaption', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side'], }, table: { contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells'], }, ckfinder: { uploadUrl: `/uploadfile`, // 上传图片接口 options: { resourceType: 'Images', }, },})const emit = defineEmits(['ready', 'focus', 'blur', 'input', 'destroy'])const editorRef = ref(null)const onEditorReady = () => { console.log('准备好了') emit('ready')}const onEditorFocus = () => { console.log('聚焦') emit('focus')}const onEditorBlur = () => { console.log('失去焦点') emit('blur')}const onEditorInput = () => { console.log('正在录入') emit('input')}const onEditorDestroy = () => { console.log('销毁') emit('destroy')}</script><style lang="scss">#ckeditor { .ck-editor__editable { min-height: 100px; max-height: 500px; }}</style>效果如图

以上基本的工具栏配置比较少,如果基本的满足你的需要,可直接使用如上的方法。

我想要添加更多的工具栏。 以下是我的踩坑经历,我想要一个字体的工具栏,直接下载了字体的依赖

npm i @ckeditor/ckeditor5-font引入import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js';import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily.js';import FontSize from '@ckeditor/ckeditor5-font/src/fontsize.js';

然后直接报错Uncaught CKEditorError:ckeditor-duplicated-modules Read more … 文档说明 大概意思就是重复安装了一些模块,因此以上方法行不通。

更多新工具栏使用方法CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor)

如果想要多工具栏的,直接按照如下方法操作。第一种基本使用方法可不操作。

先说一下操作思路,在@ckeditor/ckeditor5-build-classic代码的基础上,添加新工具栏,然后上传打包后的包到私服或者放到项目目录里。

官网去设置工具栏 官网地址:https://ckeditor.com/ckeditor-5/online-builder/ 1、这里我使用的是第一个经典模式classic

2、这一步操作,可以直接在下面的工具栏中add想要的工具栏。带☆的是收费的。在默认的基础上我又添加了几种。

3、把上面的工具栏添加到下面的可以看效果

4、选择第二个Chinese语言包

5、start生成包并下载 6、下载下来之后,在package.json里面可以看到这些依赖就是刚才我们选择的。build文件就是咱们项目中用到的包。 目前已经有的工具栏就是刚才选择的。如果需要增加新的工具栏,在当前目录执行如添加字体 npm i @ckeditor/ckeditor5-font -D,然后在src/ckeditor.js文件引入,添加到builtinPlugins,defaultConfig

最后执行npm run build打包,重新生成的build文件夹,就是最新的包,把这个包直接放在项目目录里,或者上传到私服都可以。

我这里是上传到了私服,package.json如下配置,package.json的name自己重新命名一下。private改为false。 publishConfig为上传的私服地址

使用npm install @ckeditor/ckeditor5-vue//下载私服上的包npm install @custom/ckeditor5-custom-build

实际项目中的用法和前面的基本方法一样,只需要更新一下toolbar里面的配置和引入的路径名称。 代码:

<template> <div id="ckeditor"> <ckeditor ref="editorRef" v-model="editorDesign" :editor="editor" :config="editorConfig" :disabled="disabled" @ready="onEditorReady" @focus="onEditorFocus" @blur="onEditorBlur" @input="onEditorInput" @destroy="onEditorDestroy" ></ckeditor> </div></template><script setup>import { ref, reactive } from 'vue'import ClassicEditor from '@custom/ckeditor5-build-classic'import '@customr/ckeditor5-build-classic/build/translations/zh-cn.js' //引入中文包const props = defineProps({ disabled: { type: Boolean, default: false, //是否禁用 },})const editor = ClassicEditorconst editorDesign = ref('') //默认内容const editorConfig = reactive({ language: 'zh-cn', toolbar: { items: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'outdent', 'indent', '|', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo','|','fontColor','fontFamily','fontSize','fontBackgroundColor',], }, //自定义设置字体 fontFamily: { options: [ 'default', '宋体', '新宋体', '仿宋', '楷体', '微软雅黑', '黑体', '华文仿宋', '华文楷体', '华文隶书', '华文宋体', '华文细黑', '华文新魏', '华文行楷', '华文中宋', '隶书', '苹方 常规', '幼圆', ], }, language: 'zh', image: { toolbar: ['imageTextAlternative', 'toggleImageCaption', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side'], }, table: { contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells'], }, ckfinder: { uploadUrl: `/uploadfile`, // 上传图片接口 options: { resourceType: 'Images', }, },})const emit = defineEmits(['ready', 'focus', 'blur', 'input', 'destroy'])const editorRef = ref(null)const onEditorReady = () => { console.log('准备好了') emit('ready')}const onEditorFocus = () => { console.log('聚焦') emit('focus')}const onEditorBlur = () => { console.log('失去焦点') emit('blur')}const onEditorInput = () => { console.log('正在录入') emit('input')}const onEditorDestroy = () => { console.log('销毁') emit('destroy')}</script><style lang="scss">#ckeditor { .ck-editor__editable { min-height: 100px; max-height: 500px; } //设置默认字体 .ck-editor__editable_inline p { font-family: '宋体' !important; }}</style>

CKEditor5设置默认字体,用的是css写法,这里尝试了config.font_defaultLabel = fontFamily这类写法,都没有用。最后用css实现的。

//设置默认字体 .ck-editor__editable_inline p { font-family: '宋体' !important; }
本文链接地址:https://www.jiuchutong.com/zhishi/278094.html 转载请保留说明!

上一篇:总结Linux中用于文本处理的awk、sed、grep命令用法(linux使用范围)

下一篇:琼斯海滩岛上的笛鸻和它的幼崽 (© Vicki Jauron/Getty Images)(琼斯的大海怪)

  • 怎样利用原创文章 门户博客和论坛增加外链(怎样利用原创文章赚钱)

    怎样利用原创文章 门户博客和论坛增加外链(怎样利用原创文章赚钱)

  • 红米note11怎么设置指纹解锁(红米note11怎么设置动态壁纸)

    红米note11怎么设置指纹解锁(红米note11怎么设置动态壁纸)

  • 已经极速退款,但是卖家拒收有影响吗(已经极速退款,商家确认需要多久)

    已经极速退款,但是卖家拒收有影响吗(已经极速退款,商家确认需要多久)

  • 笔记本无法完成更新正在撤销请不要关机(笔记本无法完成系统配置怎么办)

    笔记本无法完成更新正在撤销请不要关机(笔记本无法完成系统配置怎么办)

  • 在分区之间保留空闲扇区作用(c盘永久删除文件如何恢复)

    在分区之间保留空闲扇区作用(c盘永久删除文件如何恢复)

  • 淘宝抢东西显示前方拥挤(淘宝抢东西显示前方拥堵)

    淘宝抢东西显示前方拥挤(淘宝抢东西显示前方拥堵)

  • 小米haylou智能手表功能介绍(小米haylou智能手表app下载)

    小米haylou智能手表功能介绍(小米haylou智能手表app下载)

  • mini5电池容量多少毫安(mini5电池耐用吗)

    mini5电池容量多少毫安(mini5电池耐用吗)

  • 拼多多销量多久清一次(拼多多销量多久清零)

    拼多多销量多久清一次(拼多多销量多久清零)

  • 手机电池是锂电池吗(手机电池是锂电池好还是石墨烯电池好)

    手机电池是锂电池吗(手机电池是锂电池好还是石墨烯电池好)

  • 抖音蓝v认证审核多长时间(抖音蓝v认证审核不通过费用不退)

    抖音蓝v认证审核多长时间(抖音蓝v认证审核不通过费用不退)

  • 什么是基于互联网的相关服务的增加使用和交付模式(什么是基于互联网手段进行宣传推广的活动)

    什么是基于互联网的相关服务的增加使用和交付模式(什么是基于互联网手段进行宣传推广的活动)

  • 手机关机会耗电吗(手机耗电快 关闭这2个功能)

    手机关机会耗电吗(手机耗电快 关闭这2个功能)

  • 学而思退款什么时候到账(学而思退款退到哪里)

    学而思退款什么时候到账(学而思退款退到哪里)

  • 注销icloud账户的后果(注销icloud出错是怎么回事)

    注销icloud账户的后果(注销icloud出错是怎么回事)

  • vivo怎么查看下载记录(VIVO怎么查看下载记录)

    vivo怎么查看下载记录(VIVO怎么查看下载记录)

  • 支付宝实名认证上限怎么办(支付宝实名认证可以更改吗)

    支付宝实名认证上限怎么办(支付宝实名认证可以更改吗)

  • 135定焦适合拍什么(135mm定焦镜头适合拍什么)

    135定焦适合拍什么(135mm定焦镜头适合拍什么)

  • b站电视投屏怎么开弹幕(b站电视投屏怎么连续播放)

    b站电视投屏怎么开弹幕(b站电视投屏怎么连续播放)

  • 简述随机存储器ram与只读存储器rom的区别(简述随机存储器RAM与只读ROM,并写出区别)

    简述随机存储器ram与只读存储器rom的区别(简述随机存储器RAM与只读ROM,并写出区别)

  • oppo微信禁止安装程序怎么办(oppo手机微信怎么解除限制安装应用)

    oppo微信禁止安装程序怎么办(oppo手机微信怎么解除限制安装应用)

  • 企业收取培训费
  • 锦州税务师考试在哪个学校
  • 以前年度多缴纳的企业所得税退还
  • 外购的产品用于投资
  • 应纳税额滞纳金
  • 开立个人银行账户的条件
  • 有外经证的计税收入怎么算?
  • 股权内部转让交增值税吗
  • 多计提的销售费用冲销
  • 食堂开支计入什么科目
  • 通行费进项抵扣条件
  • 当期应税销售收入是含税还是不含税
  • 营改增后小规模纳税人所得税
  • 账本印花税如何申报缴纳
  • 通过检查人力资源
  • 个人所得税必须得交吗
  • 金税控系统发票打印设置
  • 筹建期如何界定
  • 纳税人为ETC卡充值取得财政票据进项税额抵扣问题
  • 核定征收的小型微利企业
  • 自行建造厂房一座,现已完工,经验收后交付费用
  • 资产负债表用来调节利润的负债
  • 国家税务局通用定额发票还能用吗
  • 应付政府补贴款名词解释
  • 红字专用发票信息表编号在哪儿
  • 发票跨年了还能认证吗
  • 认购价和发行价的差价
  • 事业单位福利发放时间
  • 发票专用章正规位置盖在哪里
  • 企业之间的往来款现金流
  • php常用扩展有哪些
  • 月末结转营业税金及附加分录
  • 生产成本包括哪些项目
  • 贴吧热门评论
  • 嵌套if怎么用
  • 固定资产如何做账务处理
  • 出租固定资产取得的收入属于收入要素吗
  • 没有收入的情况下可以填成本吗
  • thinkphp整合layui
  • 长期负债和应付账款
  • vue mocha
  • mongodb起源
  • 汇款和转账有什么区别吗
  • 科目余额表数据包括
  • 撰写广告
  • sql server基本知识
  • 委托银行贷款利息发票谁提供
  • 库存商品转出
  • 固定资产可以一次性折旧吗
  • 库存,收入,支出,进货
  • 发放个税返还用不用申报
  • 报销原材料运输费怎么算
  • 2020年扶贫拨款
  • 小微企业可以享受六税两费吗
  • mysql 非聚集索引
  • sql server怎么复制表
  • mysql 5.6 从陌生到熟练之_数据库备份恢复的实现方法
  • win8系统升级
  • win10 edge浏览器在哪里
  • debian openssh
  • win8如何添加我的电脑
  • 让xp系统自动修复软件
  • pic是啥软件
  • 听歌播放失败什么意思
  • win8如何设置默认输入法
  • win7系统更新显卡驱动后黑屏无法启动
  • 升级win10系统后无法联网的三种解决方法
  • opengl缓冲区
  • node js安装教程
  • bootstrap表单模板
  • jquery 上传进度
  • linux怎么ssh远程
  • 手机端apk反编译工具_android反编译工具
  • mac上安装破解软件会怎样
  • 修复硬盘
  • 宁波市税务网上营业厅
  • 广东电子税务局app
  • 浙江 国家地理
  • 消费发票上的金额含税吗
  • 内审工作流程及内审中常见的问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设