Problems with using wangeditor rich text editing in Vue

Problems with using wangeditor rich text editing in Vue

wangEditor is a web rich text editor developed based on javascript and css. It is lightweight, simple, easy to use, open source and free.
It is still frequently used in our actual projects. Here is a case for your reference...

wangEditor documentation: https://www.wangeditor.com/

Rich text editor screenshot:

insert image description here
insert image description here
insert image description here

<!--Rich text editor. http://www.wangeditor.com/
Example of use:
<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 binding value: {type: String, default: ''},
   //Menu optionsmenus: {
    type: Array,
    default(){
     return [
      : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
    },
   },
  },
  data(){
   return {
    editor: {}, // Editor object_value: '', // Content backup, used for judgment during watch, only changes when the editor is input};
  },
  computed: {},
  mounted(){
   this.initEditor();
  },
  watch:
   value(newValue, oldValue){
    // Editor onchange changes are not processed, only those from the parent component are processed to prevent text rollback 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; // Update _value
      this.$emit('update:value', html); // Update value
     },
     customUploadImg:((file, insert)=> {
      if(this.$utils.isEmpty(file)){
       return;
      }
      const msg = this.$Message.loading({
       content: 'Dear, the picture is being uploaded, please wait...',
       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('Upload successful');
      })
     }),
     uploadImgHooks:{

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


    editor.create();
    editor.txt.html(this.value); // For asynchronous data acquisition, it cannot be bound immediately. Watch the judgment and process this.editor = editor;
   },
  },
 };
</script>
<style scoped lang="scss">
 .AppEditor-root{ border: 1px solid #f0f0f0; height: 400px !important;
  /deep/ .we-toolbar{ border: none !important; border-bottom: 1px solid #f0f0f0 !important; background-color: #fff !important;

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

</style>

This is the end of this article about the use of wangeditor rich text editing in Vue. For more relevant wangeditor rich text editing content, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • How to get the html and text of wangeditor in vue
  • How to use rich text editor wangEditor3 in Vue
  • Example of using the lightweight rich text editor wangEditor with vue
  • How to use wangEditor in vue and how to get focus by echoing data

<<:  Some notes on mysql create routine permissions

>>:  About MySQL innodb_autoinc_lock_mode

Recommend

Detailed explanation of javascript knowledge points

Table of contents 1. Basic Introduction to JavaSc...

Introduction and usage of Angular pipeline PIPE

Preface PIPE, translated as pipeline. Angular pip...

Analysis of the solution to Nginx Session sharing problem

This article mainly introduces the solution to th...

How to improve MySQL Limit query performance

In MySQL database operations, we always hope to a...

Grid systems in web design

Formation of the grid system In 1692, the newly c...

Detailed explanation of Vue3's responsive principle

Table of contents Review of Vue2 responsive princ...

Are you still Select *?

There are many reasons why an application is as s...

Summary of Binlog usage of MySQL database (must read)

I won't go into details about how important b...

How to install MySQL server community version MySQL 5.7.22 winx64 in win10

Download: http://dev.mysql.com/downloads/mysql/ U...

Implementation code for using CSS text-emphasis to emphasize text

1. Introduction In the past, if you wanted to emp...

Detailed explanation of how to detect and prevent JavaScript infinite loops

Table of contents Preface Fix infinite loop in fo...

How to visualize sketched charts in Vue.js using RoughViz

introduce A chart is a graphical representation o...