Vue3使用WangEditor编辑器

WangEditor的基本使用,图片上传功能
没详细讲解,只是做个记录。

Componets 下定义 WangEditor.vue 文件

<template>
    <div style="border: 1px solid #ccc;">
        <Toolbar style="border-bottom: 1px solid #ccc" :editor="editorRef" :defaultConfig="toolbarConfig" mode="default" />
        <Editor :style="{ 'height': height + 'px', 'overflow': 'hidden' }" v-model="newValue" :defaultConfig="editorConfig"
            mode="default" @onCreated="handleCreated" />
    </div>
</template>

<script setup>
import { defineProps, computed, shallowRef, defineEmits } from 'vue'
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
import Cookies from 'js-cookie'
import '@wangeditor/editor/dist/css/style.css' // 引入 css 

const props = defineProps({
    // 父组件 v-model 绑定的值
    modelValue: {
        type: String
    },
    // 富文本的高
    height: {
        type: [Number, String],
        default: 400
    }
})

const editorRef = shallowRef()

const emit = defineEmits(['update:modelValue'])

const toolbarConfig = {}

const editorConfig = { placeholder: '请输入内容...', MENU_CONF: {} }

editorConfig.MENU_CONF['uploadImage'] = {
    // 上传图片
    fieldName: 'file',
    // headers头部 需要添加不需要删掉
    headers: {
        Authorization: Cookies.get('Token'),
        ContentType: 'application/json;charset=utf-8'
    },
    // 图片上传的路径
    server: import.meta.env.VITE_APP_BASE_API + '/image/upload',
    // 图片上传返回的数据
    customInsert(res, insertFn) {
        let src = import.meta.env.VITE_APP_BASE_API + res.data.url // 有的会返回带域名的路径也有不带的根据自己的实际情况
        insertFn(src)
    },
}

editorConfig.MENU_CONF['uploadVideo'] = {

}

const newValue = computed({
    get() {
        return props.modelValue
    },
    set(value) {
        emit('update:modelValue', value)
    }
})

const handleCreated = (editor) => {
    editorRef.value = editor // 记录 editor 实例,重要!
    // console.log(editor.getAllMenuKeys()) // 这里输出可以看到 富文本中所有的功能
}

</script>

<style lang="scss" scoped></style>
  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值