第一步,下载依赖

yum install kindeditor

第二步,建立kindeditor.vue组件

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: '


'

},

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

})

}

}

第三步,引入使用

:afterChange="afterChange()"

:loadStyleMode="false"

@on-content-change="onContentChange">

editorTextCopy: {{ editorTextCopy }}

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 () {

}

}

}

效果如下:

vue中使用kindeditor编辑器_vue中使用kindeditor富文本编辑器相关推荐

  1. php去除编辑器html标签,js处理富文本编辑器转义、去除转义、去除HTML标签

    富文本编辑器生成的HTML标签,进行转义,然后写入数据库,防止脚本注入: function htmlEncode(value){ return $(' } 从数据库拿出的转义后的HTML标签内容,先得 ...

  2. java web编辑器插件_UEditer 是一个富文本编辑器,可以作为 插件放到javaweb项目中使用,很好用~ Develop 238万源代码下载- www.pudn.com...

    文件名称: UEditer下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 19833 KB 上传时间: 2015-03-19 下载次数: 0 提 供 者: 陈琳杰 ...

  3. vue获取编辑器纯文字_前端富文本编辑器 vue-html5-editor

    1..项目创建与初始化 在安装好脚手架的依赖后,要执行 npm install vue-html5-editor -S 来安装这个富文本插件,由于这个富文本插件的图标是依赖font-awesome.c ...

  4. layui富文本编辑器上传图片java_解决layui富文本编辑器图片上传无法回显的问题...

    layui富文本编辑器用起来挺方便的,但是不足的是不提供图片上传的接口,需要自己写上传接口,而且返回的数据类型要符合layui富文本编辑器图片上传插件的要求,否则图片可以上传成功,但是无法回显,这个问 ...

  5. winform html编辑器控件,一个WinForm富文本编辑器控件

    WinForm 上的富文本编辑器简直不要太少,虽然有 RichEdit,但是这个鬼极难用而且复杂,在插入图片和表格的时候简直抓狂,还要理解复杂的 RTF 格式. 我希望有一个文本控件,包括基本的格式设 ...

  6. devexpress html编辑器,DevExpress使用教程:富文本编辑器RichEditControl

    传统.NET界面有一个富文本控件RichTextBox,可以存储图片文字等内容,它有自己的文件格式RTF,在RichEditControl,这个控件功能很强大,它可以做邮件编辑器,实现图文并茂的邮件的 ...

  7. django html文本编辑器,django xadmin 集成DjangoUeditor富文本编辑器

    #### 本文档记录自己的学习历程! #### 介绍 - Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大 #### 额外功能 - 解决图片视频等无法上传显示问题 #### ...

  8. c语言实现英文文本编辑器_用flutter实现富文本编辑器(二)

    上一回咱们说到RichText是如何实现TextSpan和WidgetSpan混排的,这次我们把RichText和TextField合并起来 这是我目前修改的文件,把rich前缀去掉就是原来的名字 . ...

  9. Vue中使用vue-quil-editor富文本编辑器+el-upload实现带图片上传到SpringBoot后台接口

    场景 系统中经常会用到富文本编辑器,比如新增通知和公告功能,并且需要添加上传图片. vue-quill-editor官网: https://www.npmjs.com/package/vue-quil ...

  10. Vue 中引入markdown富文本编辑器并根据md格式渲染

    Vue 中引入markdown富文本编辑器 在vue组件中,比较好用的是mavon-editor,github文档地址 https://github.com/hinesboy/mavonEditor ...

最新文章

  1. “勤奋”,是能让你走出低谷最有效的方法
  2. 怎样增加混凝土粘聚性_如何改善中低强度等级混凝土粘聚性? 这篇文章一定要看...
  3. 如何做好性能测试_流程篇
  4. SAP Spartacus HTTP请求的错误处理机制
  5. 操作系统中的用户空间和内核空间
  6. vue项目没有router文件夹_Vue路由(vue-router)配置实战——动态路由,重定向,工程非根目录...
  7. 传输层协议(13):拥塞控制(2)
  8. Eclipse修改代码字体
  9. shred如果说它Linux系统是文件粉碎机它就更有名了
  10. 大学四年软件工程专业的学习经验总结
  11. 有赞BI平台实现原理
  12. 脑袋越大就会越聪明么?
  13. STM32L431 I2S/IIS slaver使用
  14. 学习记录540@SVN查看日志报错:Item is not readable
  15. MFC CStdioFile简单用法
  16. 不会编程如何制作Android辅助功能?
  17. element ui tree树节点数据平面化
  18. Python 之嵌套列表
  19. 事件、事件抽取与事理图谱
  20. 社群运营:从100个社群中选出有特色的8个分享给你

热门文章

  1. 硬核干货!揭秘波士顿动力背后的专利技术
  2. 用python解决约瑟夫环
  3. 关于视频监控线缆的常识
  4. python基础: day4作业计算器
  5. td外边加div为啥不隐藏_那些不常见,但却非常实用的 css 属性
  6. FPGA 实现 RGB 图像转 Gray
  7. FPGA实现VGA显示(四)——————读取ROM显示彩色图片(a)
  8. tomcat测试程序的安装
  9. Oracle Decode函数详解
  10. iphone xcode for lion 下载地址