1.样式部分
<el-drawer
title="修改商品"
size="40%"
:visible.sync="dialogVisible2"
direction="rtl"
custom-class="demo-drawer"
ref="drawer>
<div class="drawercontent">
<el-form ref="editGoodFormRef" :model="editGood">
<el-form-item label="商品简介:" prop="blurb">
<div style="overflow: hidden
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editor"
:defaultConfig="toolbarConfig"
:mode="mode"/>
<Editor
style="height: 400px; overflow-y: hidden"
v-model="editGood.blurb" //数据双向绑定
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="onCreated"/>
</div>
</el-form-item>
</el-form>
<div class="demo-drawer__footer">
<el-button @click="cancelEditGood">取 消</el-button>
<el-button type="primary" @click="doEditGood" :disabled="editGoodBtn">确定</el-button>
</div>
</div>
</el-drawer>
2.JS部分
1.安装,引入wangeditor
npm install @wangeditor/editor
npm install @wangeditor/editor-for-vue
<script>
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
export default {
components: {
Editor,
Toolbar
},
data() {}
}
</script>
2.基础配置及上传图片配置
data() {
return {
editor: null,
toolbarConfig: {},
editorConfig: {
placeholder: "请输入内容...",
MENU_CONF: {
uploadImage: {
customUpload: this.uploadImg,
fieldName: "file",
},
},
},
mode: "simple",
}
},
methods: {
onCreated1(editor) {
this.editor = Object.seal(editor);
},
uploadImg(file, insertFn) {
let imgData = new FormData();
imgData.append("file", file);
this.postRequest("/material/fileUpload", imgData)
.then((res) => {
console.log(res);
insertFn(res.data.data);
this.$message({
type: "success",
message: "上传成功",
});
})
.catch((error) => {
this.$message("上传失败,请重新上传");
});
},
},
beforeDestroy() {
const editor = this.editor;
if (editor1 == null) return;
editor1.destroy();
}