refactor(仪表板): 富文本编辑区和拖拽区优化

This commit is contained in:
wangjiahao 2022-12-28 11:08:42 +08:00
parent 1b34e366dd
commit 906dffcabf
3 changed files with 11 additions and 3 deletions

View File

@ -36,6 +36,7 @@ import 'tinymce/plugins/directionality'
import 'tinymce/plugins/nonbreaking' import 'tinymce/plugins/nonbreaking'
import 'tinymce/plugins/pagebreak' import 'tinymce/plugins/pagebreak'
import { mapState } from 'vuex' import { mapState } from 'vuex'
import Vue from 'vue'
export default { export default {
name: 'DeRichText', name: 'DeRichText',
@ -155,7 +156,7 @@ export default {
setEdit() { setEdit() {
if (this.editStatus) { if (this.editStatus) {
this.canEdit = true this.canEdit = true
this.element.editing = true Vue.set(this.element, 'editing', true)
this.reShow() this.reShow()
} }
}, },

View File

@ -74,18 +74,22 @@
class="main-background" class="main-background"
> >
<div <div
v-show="!this.element.editing"
class="de-drag-area de-drag-top" class="de-drag-area de-drag-top"
@mousedown="elementMouseDown" @mousedown="elementMouseDown"
/> />
<div <div
v-show="!this.element.editing"
class="de-drag-area de-drag-right" class="de-drag-area de-drag-right"
@mousedown="elementMouseDown" @mousedown="elementMouseDown"
/> />
<div <div
v-show="!this.element.editing"
class="de-drag-area de-drag-bottom" class="de-drag-area de-drag-bottom"
@mousedown="elementMouseDown" @mousedown="elementMouseDown"
/> />
<div <div
v-show="!this.element.editing"
class="de-drag-area de-drag-left" class="de-drag-area de-drag-left"
@mousedown="elementMouseDown" @mousedown="elementMouseDown"
/> />

View File

@ -198,6 +198,9 @@ const data = {
}, },
setCurComponent(state, { component, index }) { setCurComponent(state, { component, index }) {
if (!component && state.curComponent) {
Vue.set(state.curComponent, 'editing', false)
}
// 当前视图操作状态置空 // 当前视图操作状态置空
if (component) { if (component) {
component['optStatus'] = { component['optStatus'] = {
@ -206,9 +209,9 @@ const data = {
} }
// Is the current component in editing status // Is the current component in editing status
if (!state.curComponent) { if (!state.curComponent) {
component['editing'] = false Vue.set(component, 'editing', false)
} else if (component.id !== state.curComponent.id) { } else if (component.id !== state.curComponent.id) {
component['editing'] = false Vue.set(component, 'editing', false)
} }
} }
state.styleChangeTimes = 0 state.styleChangeTimes = 0