vue集成kindeditor富文本的实现示例代码

时间:2021-05-26

指令

该指令的作用是dom渲染后触发,因为非vue的插件有的是dom必须存在的情况下才可以执行

Vue.directive('loaded-callback', { inserted: function (el, binding, vnode) { binding.value(el, binding, vnode) }})

安装kindeditor

npm install kindeditor

kindeditor组件

<template> <div class="kindeditor"> <textarea class="form-control" ref="kindeditor" v-model="localValue" name="content" v-loaded-callback='initKindeditor'></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', props: ['options', 'value'], data () { return { localValue: '' } }, watch: { localValue: 'updateValue', value: 'setDefault' }, created () { this.setDefault() }, methods: { initKindeditor () { var _this = this // 默认参数 var options = { uploadJson: 'upload/image', width: '100%', afterChange () { _this.localValue = this.html() } } // 调用外部参数 if (_this.options) { for(var i in _this.options){ options[i] = _this.options[i] } } KindEditor.create(_this.$refs.kindeditor,options); }, // 设置初始值 setDefault () { this.localValue = this.value }, // 修改父件的值 updateValue () { this.$emit('input',this.localValue) } }}</script>

用法

<kindeditor :options="options" v-model="content"></kindeditor>

options参考

http://kindeditor.net/docs/option.html

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章