<template> <div style="position: relative; width: 100%"> <vue-ueditor-wrap v-model="msg" :config="editorConfig" :editor-id="id" /> </div> </template> <script> import VueUeditorWrap from 'vue-ueditor-wrap' import storage from 'store' import { ACCESS_TOKEN } from '@/store/mutation-types' export default { /* eslint-disable */ name: 'UE', components: { 'vue-ueditor-wrap': VueUeditorWrap }, data() { return { msg: '', id: 'ueditor' + Math.random(), editorConfig: { lang: 'zh-cn', UEDITOR_HOME_URL: 'static/plugins/ueditor/', // serverUrl: '//ueditor.szcloudplus.com/cos' serverUrl: process.env.VUE_APP_API_BASE_URL + '/sys/ueditor/config', // headers: { // Authorization: storage.get(ACCESS_TOKEN) // } }, } }, props: { // 已实现v-model语法糖,调用时数据绑定请直接用v-model value: { type: String, default: '', }, config: { type: Object, default: () => ({ initialFrameWidth: '100%', initialFrameHeight: 300, zIndex: 10001, }), }, }, model: { event: 'change', prop: 'value', }, watch: { // config: { // immediate: true, // handler: function (config) { // const defaults = { // lang: 'zh-cn', // UEDITOR_HOME_URL: '/static/plugins/ueditor/', // serverUrl: '/dawa/sys/ueditor/config', // } // this.editorConfig = { ...defaults, ...config } // }, // }, msg: function (value) { this.$emit('change', value) }, value: { immediate: true, handler: function (newValue, oldValue) { if (newValue == oldValue) return this.msg = newValue }, }, }, methods: {}, mounted() {}, destroyed() {}, } </script> <style lang="less" scoped> ::v-deep .edui-box { line-height: 1; } ::v-deep .edui-toolbar { line-height: 1; } </style>