vue集成百度UEditor富文本编辑器

vue集成百度UEditor富文本编辑器

1. 百度下载插件, 整个文件夹, 放入static 里面
在这里插入图片描述
2. main.js引入
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190429165617937.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDg2NDc5Mw==,size_16,color_FFFFFF,t_70

import '../static/UE/ueditor.config.js'
import '../static/UE/ueditor.all.min.js'
import '../static/UE/lang/zh-cn/zh-cn.js'
import '../static/UE/ueditor.parse.min.js'

3. 组件: Ctrl+c Ctrl+v
在这里插入图片描述

<template>
  <div>
    <script :id=id type="text/plain"></script>
  </div>
</template>
<script>
  export default {
    name: 'UE',
    data () {
      return {
        editor: null
      }
    },
    props: {
      defaultMsg: {
        type: String
      },
      config: {
        type: Object
      },
      id: {
        type: String
      },
    },
    mounted() {
      const _this = this;
      this.editor = UE.getEditor(this.id, this.config); // 初始化UE
      this.editor.addListener("ready", function () {
        //延时 lkw20190307 添加, 防止页面加载富文本编辑器来不及赋值/或网络延时加载不上
        setTimeout(function () {
          _this.editor.setContent(_this.defaultMsg); // 确保UE加载完成后,放入内容。
        }, 300)
        
      });
      console.log("上传这堆错误不用理会,上传接口需自行开发配置");
    },
    methods: {
      getUEContent() { // 获取内容方法
        return this.editor.getContent()
      },
      getUEContentTxt() { // 获取纯文本内容方法
        return this.editor.getContentTxt()
      }
    },
    destroyed() {
      this.editor.destroy();
    }
  }
</script>

4. 使用, 在需要的页面使用

(1) 引入插件
在这里插入图片描述

import UE from '../../components/ue/ue.vue';

components: {UE},

(2) 表现层
在这里插入图片描述
(3) 定义初始值, 及组件宽高等(在data里面定义)
在这里插入图片描述

config: {
	initialFrameWidth: null,
	initialFrameHeight: 350
},
ue1: "ue1", // 不同编辑器必须不同的id
ue2: "ue2",
ue3: "ue3",

(4) 富文本值的获取, methods中:
在这里插入图片描述

/**全富文本 */
    getUEContent(ue) {
      let content = this.$refs.ue.getUEContent(); // 调用子组件方法
      this.$notify({
        title: '获取成功,可在控制台查看!',
        message: content,
        type: 'success'
      });
    },
    getUEContentTxt() {
      let content = this.$refs.ue.getUEContentTxt(); // 调用子组件方法
      this.$notify({
        title: '获取成功,可在控制台查看!',
        message: content,
        type: 'success'
      });
    },

(5) 以formate提交为例, 获取多个富文本的值
在这里插入图片描述

if(key == 'abstract') {
	formData.append('abstract', this.$refs.ue.getUEContent()); // 调用子组件方法, 获取课程介绍富文本值
} else if(key == 'feature') {
	formData.append('feature', this.$refs.ue2.getUEContent()); // 调用子组件方法, 获取课程介绍富文本值
 } else if(key == 'teacher') {
	formData.append('teacher', this.$refs.ue3.getUEContent()); // 调用子组件方法, 获取课程介绍富文本值
 }
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值