Commit a7875cb 1 parent 2e5cd15 commit a7875cb Copy full SHA for a7875cb
File tree 4 files changed +22
-12
lines changed
front-end/h5/src/components/core
4 files changed +22
-12
lines changed Original file line number Diff line number Diff line change @@ -89,7 +89,9 @@ export default {
89
89
const style = element . getStyle ( )
90
90
const data = {
91
91
style,
92
- class : 'element-on-edit-canvas' , // TODO 添加为何添加 class 的原因:与 handleClickCanvas 配合
92
+ // 添加 class 的原因:与 handleClickCanvasProp 配合,
93
+ // 当点击编辑画布上的其它区域(clickEvent.target.classList 不包含下面的 className)的时候,设置 editingElement=null
94
+ class : 'element-on-edit-canvas' ,
93
95
props : element . pluginProps , // #6 #3
94
96
on : {
95
97
// 高亮当前点击的元素
Original file line number Diff line number Diff line change @@ -3,17 +3,23 @@ export default {
3
3
methods : {
4
4
renderPreview ( h , elements ) {
5
5
return (
6
- < div style = { { height : '100%' } } >
7
- { elements . map ( ( element , index ) => {
8
- return ( ( ) => {
6
+ < div style = { { height : '100%' , position : 'relative' } } >
7
+ {
8
+ elements . map ( ( element , index ) => {
9
+ /**
10
+ * TODO 是否可以将 renderElement 进行抽象成 renderBaseElement?
11
+ * renderBaseElement
12
+ * -> renderBaseElementWithEvent()
13
+ * -> renderBaseElementWithCustomStyle()
14
+ */
15
+ const style = element . getStyle ( 'absolute' /** position */ )
9
16
const data = {
10
- style : element . getStyle ( ) ,
11
- props : element . pluginProps , // #6 #3
12
- nativeOn : { }
17
+ style,
18
+ props : element . pluginProps
13
19
}
14
20
return h ( element . name , data )
15
- } ) ( )
16
- } ) }
21
+ } )
22
+ }
17
23
</ div >
18
24
)
19
25
}
Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ class Element {
40
40
} )
41
41
}
42
42
43
- getStyle ( ) {
43
+ getStyle ( position = 'static' ) {
44
44
const pluginProps = this . pluginProps
45
45
const commonStyle = this . commonStyle
46
46
let style = {
@@ -51,7 +51,8 @@ class Element {
51
51
fontSize : `${ pluginProps . fontSize || commonStyle . fontSize } px` ,
52
52
color : pluginProps . color || commonStyle . color ,
53
53
// backgroundColor: pluginProps.backgroundColor || commonStyle.backgroundColor,
54
- textAlign : pluginProps . textAlign || commonStyle . textAlign
54
+ textAlign : pluginProps . textAlign || commonStyle . textAlign ,
55
+ position
55
56
}
56
57
return style
57
58
}
Original file line number Diff line number Diff line change @@ -136,11 +136,12 @@ export default {
136
136
}
137
137
} ,
138
138
render ( h ) {
139
+ const style = this . element . getStyle ( 'absolute' /** position */ )
139
140
return (
140
141
< div
141
142
onClick = { this . handleWrapperClick }
142
143
onMousedown = { this . handleMousedown }
143
- style = { { ... this . element . getStyle ( ) , position : 'absolute' } }
144
+ style = { style }
144
145
>
145
146
{
146
147
this . active &&
You can’t perform that action at this time.
0 commit comments