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

(编辑:jimmy 日期: 2025/1/12 浏览:2)

指令

该指令的作用是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

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

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。