[email protected] / 或者 npm instal...">

当前位置:网站首页>wangeditor封装插件初步

wangeditor封装插件初步

2022-06-21 10:25:00 极梦网络无忧

安装

安装 editor

yarn add @wangeditor/editor
# 或者 npm install @wangeditor/editor --save

安装 Vue3 组件

yarn add @wangeditor/editor-for-[email protected]
# 或者 npm install @wangeditor/editor-for-[email protected] --save

在组件中

如果有别的需求,可以自行修改

<template>
    <div style="border: 1px solid #ccc">
      <Toolbar
        style="border-bottom: 1px solid #ccc"
        :editor="editorRef"
        :defaultConfig="toolbarConfig"
        :mode="mode"
      />
      <Editor
        style="height: 500px; overflow-y: hidden;"
        v-model="valueHtml"
        :defaultConfig="editorConfig"
        :mode="mode"
        @onCreated="handleCreated"
      />
    </div>
</template>
<script>
import '@wangeditor/editor/dist/css/style.css' // 引入 css

import {
     onBeforeUnmount, ref, shallowRef, onMounted ,getCurrentInstance} from 'vue'
import {
     Editor, Toolbar } from '@wangeditor/editor-for-vue'
  const editorRef = shallowRef()

    // 内容 HTML
    const valueHtml = ref('<p>hello</p>')
    const toolbarConfig = {
    }
    const editorConfig = {
     placeholder: '请输入内容...' } 
export default {
    
  components: {
     Editor, Toolbar },
  data() {
    
        return {
    
           editorRef,
            valueHtml,
            mode: 'default', // 或 'simple'
            toolbarConfig,
            editorConfig,
        }
        },
     props:{
    
	        
            // 绑定值 
            htmlval: {
    }, 
         
	},   
  mounted() {
    
       
     this.parseJv()
  },    
  methods:{
     
        parseJv(){
    
            console.log(this.htmlval)
             setTimeout(() => {
    
             
            valueHtml.value = this.htmlval;// '<p>模拟 Ajax 异步设置内容</p>'
        }, 500)
        },
         handleCreated(editor) {
    
            editorRef.value = editor // 记录 editor 实例,重要!
            } 
  },
  BeforeUnmount(){
    
  const editor = editorRef.value
        if (editor == null) return
        editor.destroy()
  }, 
  setup() {
      
    // // 组件销毁时,也及时销毁编辑器 
    // const handleCreated = (editor) => {
    
    // editorRef.value = editor // 记录 editor 实例,重要!
    // } 
    // return { 
    // handleCreated
    // }; 
  }
}
</script>    

引用

<template>
  <WangEditor  :htmlval="htmlStr" />
 
</template>
<script>
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
import WangEditor from './components/form/WangEditor.vue'
export default {
    
  components: {
    WangEditor },
  data() {
    
        return {
     
            htmlStr: '<p>helloasd1</p>', 
        }
    },
}
</script>
原网站

版权声明
本文为[极梦网络无忧]所创,转载请带上原文链接,感谢
https://jimeng.blog.csdn.net/article/details/125359657