电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

如何在vue中使用kindeditor富文本編輯器

瀏覽:47日期:2022-10-18 11:47:58
第一步,下載依賴

yarn add kindeditor第二步,建立kindeditor.vue組件

<template> <div class='kindeditor'> <textarea : name='content' v-model='outContent'></textarea> </div></template><script>import ’../../node_modules/kindeditor/kindeditor-all.js’import ’../../node_modules/kindeditor/lang/zh-CN.js’import ’../../node_modules/kindeditor/themes/default/default.css’export default { name: ’kindeditor’, data () { return { editor: null, outContent: this.content } }, props: { content: { type: String, default: ’’ }, id: { type: String, required: true }, width: { type: String }, height: { type: String }, minWidth: { type: Number, default: 650 }, minHeight: { type: Number, default: 100 }, items: { type: Array, default: function () { return [ ’source’, ’|’, ’undo’, ’redo’, ’|’, ’preview’, ’print’, ’template’, ’code’, ’cut’, ’copy’, ’paste’, ’plainpaste’, ’wordpaste’, ’|’, ’justifyleft’, ’justifycenter’, ’justifyright’, ’justifyfull’, ’insertorderedlist’, ’insertunorderedlist’, ’indent’, ’outdent’, ’subscript’, ’superscript’, ’clearhtml’, ’quickformat’, ’selectall’, ’|’, ’fullscreen’, ’/’, ’formatblock’, ’fontname’, ’fontsize’, ’|’, ’forecolor’, ’hilitecolor’, ’bold’, ’italic’, ’underline’, ’strikethrough’, ’lineheight’, ’removeformat’, ’|’, ’image’, ’multiimage’, ’flash’, ’media’, ’insertfile’, ’table’, ’hr’, ’emoticons’, ’baidumap’, ’pagebreak’, ’anchor’, ’link’, ’unlink’, ’|’, ’about’ ] } }, noDisableItems: { type: Array, default: function () { return [’source’, ’fullscreen’] } }, filterMode: { type: Boolean, default: true }, htmlTags: { type: Object, default: function () { return { font: [’color’, ’size’, ’face’, ’.background-color’], span: [’style’], div: [’class’, ’align’, ’style’], table: [’class’, ’border’, ’cellspacing’, ’cellpadding’, ’width’, ’height’, ’align’, ’style’], ’td,th’: [’class’, ’align’, ’valign’, ’width’, ’height’, ’colspan’, ’rowspan’, ’bgcolor’, ’style’], a: [’class’, ’href’, ’target’, ’name’, ’style’], embed: [’src’, ’width’, ’height’, ’type’, ’loop’, ’autostart’, ’quality’, ’style’, ’align’, ’allowscriptaccess’, ’/’], img: [’src’, ’width’, ’height’, ’border’, ’alt’, ’title’, ’align’, ’style’, ’/’], hr: [’class’, ’/’], br: [’/’], ’p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6’: [’align’, ’style’], ’tbody,tr,strong,b,sub,sup,em,i,u,strike’: [] } } }, wellFormatMode: { type: Boolean, default: true }, resizeType: { type: Number, default: 2 }, themeType: { type: String, default: ’default’ }, langType: { type: String, default: ’zh-CN’ }, designMode: { type: Boolean, default: true }, fullscreenMode: { type: Boolean, default: false }, basePath: { type: String }, themesPath: { type: String }, pluginsPath: { type: String, default: ’’ }, langPath: { type: String }, minChangeSize: { type: Number, default: 5 }, loadStyleMode: { type: Boolean, default: true }, urlType: { type: String, default: ’’ }, newlineTag: { type: String, default: ’p’ }, pasteType: { type: Number, default: 2 }, dialogAlignType: { type: String, default: ’page’ }, shadowMode: { type: Boolean, default: true }, zIndex: { type: Number, default: 811213 }, useContextmenu: { type: Boolean, default: true }, syncType: { type: String, default: ’form’ }, indentChar: { type: String, default: ’t’ }, cssPath: { type: [ String, Array ] }, cssData: { type: String }, bodyClass: { type: String, default: ’ke-content’ }, colorTable: { type: Array }, afterCreate: { type: Function }, afterChange: { type: Function }, afterTab: { type: Function }, afterFocus: { type: Function }, afterBlur: { type: Function }, afterUpload: { type: Function }, uploadJson: { type: String }, fileManagerJson: { type: Function }, allowPreviewEmoticons: { type: Boolean, default: true }, allowImageUpload: { type: Boolean, default: true }, allowFlashUpload: { type: Boolean, default: true }, allowMediaUpload: { type: Boolean, default: true }, allowFileUpload: { type: Boolean, default: true }, allowFileManager: { type: Boolean, default: false }, fontSizeTable: { type: Array, default: function () { return [’9px’, ’10px’, ’12px’, ’14px’, ’16px’, ’18px’, ’24px’, ’32px’] } }, imageTabIndex: { type: Number, default: 0 }, formatUploadUrl: { type: Boolean, default: true }, fullscreenShortcut: { type: Boolean, default: false }, extraFileUploadParams: { type: Array, default: function () { return [] } }, filePostName: { type: String, default: ’imgFile’ }, fillDescAfterUploadImage: { type: Boolean, default: false }, afterSelectFile: { type: Function }, pagebreakHtml: { type: String, default: ’<hr style=”page-break-after: always;” class=”ke-pagebreak” />’ }, allowImageRemote: { type: Boolean, default: true }, autoHeightMode: { type: Boolean, default: false }, fixToolBar: { type: Boolean, default: false }, tabIndex: { type: Number } }, watch: { content (val) { this.editor && val !== this.outContent && this.editor.html(val) }, outContent (val) { this.$emit(’update:content’, val) this.$emit(’on-content-change’, val) } }, mounted () { var _this = this _this.editor = window.KindEditor.create(’#’ + this.id, { width: _this.width, height: _this.height, minWidth: _this.minWidth, minHeight: _this.minHeight, items: _this.items, noDisableItems: _this.noDisableItems, filterMode: _this.filterMode, htmlTags: _this.htmlTags, wellFormatMode: _this.wellFormatMode, resizeType: _this.resizeType, themeType: _this.themeType, langType: _this.langType, designMode: _this.designMode, fullscreenMode: _this.fullscreenMode, basePath: _this.basePath, themesPath: _this.cssPath, pluginsPath: _this.pluginsPath, langPath: _this.langPath, minChangeSize: _this.minChangeSize, loadStyleMode: _this.loadStyleMode, urlType: _this.urlType, newlineTag: _this.newlineTag, pasteType: _this.pasteType, dialogAlignType: _this.dialogAlignType, shadowMode: _this.shadowMode, zIndex: _this.zIndex, useContextmenu: _this.useContextmenu, syncType: _this.syncType, indentChar: _this.indentChar, cssPath: _this.cssPath, cssData: _this.cssData, bodyClass: _this.bodyClass, colorTable: _this.colorTable, afterCreate: _this.afterCreate, afterChange: function () { _this.afterChange _this.outContent = this.html() }, afterTab: _this.afterTab, afterFocus: _this.afterFocus, afterBlur: _this.afterBlur, afterUpload: _this.afterUpload, uploadJson: _this.uploadJson, fileManagerJson: _this.fileManagerJson, allowPreviewEmoticons: _this.allowPreviewEmoticons, allowImageUpload: _this.allowImageUpload, allowFlashUpload: _this.allowFlashUpload, allowMediaUpload: _this.allowMediaUpload, allowFileUpload: _this.allowFileUpload, allowFileManager: _this.allowFileManager, fontSizeTable: _this.fontSizeTable, imageTabIndex: _this.imageTabIndex, formatUploadUrl: _this.formatUploadUrl, fullscreenShortcut: _this.fullscreenShortcut, extraFileUploadParams: _this.extraFileUploadParams, filePostName: _this.filePostName, fillDescAfterUploadImage: _this.fillDescAfterUploadImage, afterSelectFile: _this.afterSelectFile, pagebreakHtml: _this.pagebreakHtml, allowImageRemote: _this.allowImageRemote, autoHeightMode: _this.autoHeightMode, fixToolBar: _this.fixToolBar, tabIndex: _this.tabIndex }) }}</script><style> </style>第三步,引入使用

<template> <div id='app'> <editor :content.sync='editorText' :afterChange='afterChange()' :loadStyleMode='false' @on-content-change='onContentChange'></editor> <div> editorTextCopy: {{ editorTextCopy }} </div> </div></template><script>import editor from ’./components/kindeditor.vue’export default { name: ’app’, components: { editor }, data () { return { editorText: ’直接初始化值’, // 雙向同步的變量 editorTextCopy: ’’ // content-change 事件回掉改變的對象 } }, methods: { onContentChange (val) { this.editorTextCopy = val; window.console.log(this.editorTextCopy) }, afterChange () { } }}</script>效果如下:

如何在vue中使用kindeditor富文本編輯器

以上就是vue中使用kindeditor富文本編輯器的詳細內(nèi)容,更多關(guān)于vue kindeditor富文本編輯器的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 哈尔滨发电机,黑龙江柴油发电机组-北方星光 | 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 保镖公司-私人保镖-深圳保镖公司【环宇兄弟保镖】 | 爆炸冲击传感器-无线遥测传感器-航天星百科 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 密封无忧网 _ 专业的密封产品行业信息网 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 陕西鹏展科技有限公司 | SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 |