溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

wangeditor富文本編輯如何在Vue項目中使用

發(fā)布時間:2021-02-07 18:15:43 來源:億速云 閱讀:282 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹wangeditor富文本編輯如何在Vue項目中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

<!--富文本編輯器。http://www.wangeditor.com/
使用示例:
<AppEditor v-model="content"></AppEditor>
-->
<template>
 <article ref="editor" class="AppEditor-root"></article>
</template>
<script>
 const E = require('wangeditor');
 export default {
  name: 'AppEditor',
  model: {
   prop: 'value',
   event: 'update:value',
  },
  props: {
   // value值,v-model綁定
   value: {type: String, default: ''},
   // 菜單選項
   menus: {
    type: Array,
    default(){
     return [
      'bold', // 粗體
      'italic',//斜體
      'underline',//下劃線
      'fontSize', // 字號
      'strikeThrough',//刪除線
      'image', // 插入圖片
      'undo', // 撤銷


      // 'fontName', // 字體
      // 'italic', // 斜體
      // 'underline', // 下劃線
      // 'strikeThrough', // 刪除線
      // 'foreColor', // 文字顏色
      // 'backColor', // 背景顏色
      // 'link', // 插入鏈接
      // 'list', // 列表
      // 'justify', // 對齊方式
      // 'quote', // 引用
      // 'emoticon', // 表情
      // 'image', // 插入圖片
      // 'table', // 表格
      // 'video', // 插入視頻
      // 'code', // 插入代碼
      // 'undo', // 撤銷
      // 'redo', // 重復(fù)
     ];
    },
   },
  },
  data(){
   return {
    editor: {}, // 編輯器對象
    _value: '', // 內(nèi)容備份,用于watch時候判斷,只在編輯器輸入時改變
   };
  },
  computed: {},
  mounted(){
   this.initEditor();
  },
  watch: {
   value(newValue, oldValue){
    // 編輯器onchange更改的不處理,只處理父組件傳來的,防止文字回退bug
    if (newValue != this._value) {
     this.editor.txt.html(newValue);
    }
   },
  },
  methods: {
   initEditor(){
    let editor = new E(this.$refs.editor);
    Object.assign(editor.customConfig, {
     menus: this.menus,
     zIndex: 100,
     height: 200,
     pasteFilterStyle: false,
     onchange: (html) => {
      this._value = html; // 更新 _value
      this.$emit('update:value', html); // 更新 value
     },
     customUploadImg:((file, insert)=> {
      if(this.$utils.isEmpty(file)){
       return;
      }
      const msg = this.$Message.loading({
       content: '親,圖片正在拼命地上傳中,請稍等...',
       duration: 0
      });
      var params = new FormData();
      params.append('img', file[0]);
      this.$api.post('/synthesis/crm/picture/pictureUpload',params).then(res => {
       insert(res.data.imgUrl)
       setTimeout(msg, 0);
       this.$Message.success('上傳成功');
      })
     }),
     uploadImgHooks:{

      customInsert: function (insertImg, result, editor) {
       insertImg(result.url)
      }
     }
    });


    editor.create();
    editor.txt.html(this.value); // 針對數(shù)據(jù)異步獲取的這里無法立即綁定,在watch判斷處理
    this.editor = editor;
   },
  },
 };
</script>
<style scoped lang="scss">
 .AppEditor-root{ border: 1px solid #f0f0f0; height: 400px !important;
  /deep/ .w-e-toolbar{ border: none !important; border-bottom: 1px solid #f0f0f0 !important; background-color: #fff !important;

  }
  /deep/ .w-e-text-container{ height: calc(100% - 43px) !important; border: none !important; z-index:1 !important;
   .w-e-text{ height: 100%; overflow-y: auto !important;}
  }
 }

</style>

關(guān)于wangeditor富文本編輯如何在Vue項目中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI