2
2
<div class =" layout-box" >
3
3
<css-item label =" 布局模式" >
4
4
<div >
5
- <s-radio-group
6
- :value =" cssForm.display"
7
- :list =" layoutList"
8
- @change =" layoutStyleChange('display', $event)"
9
- />
5
+ <s-radio-group v-model =" cssForm.display" :list =" layoutList" />
10
6
</div >
11
7
</css-item >
12
8
<css-item >
13
- <box-model
14
- :boxModelForm =" cssForm.boxModelForm"
15
- @change =" boxModelChange"
16
- />
17
- </css-item >
18
- <css-item label =" 主轴方向" >
19
- <s-radio-group
20
- :value =" cssForm.display"
21
- :list =" flexDirectionList"
22
- @change =" layoutStyleChange('display', $event)"
23
- />
9
+ <box-model :boxModelForm =" cssForm.boxModelForm" />
24
10
</css-item >
11
+ <div v-show =" cssForm.display === 'flex'" >
12
+ <css-item label =" 主轴方向" >
13
+ <s-radio-group
14
+ v-model =" cssForm.flexDirection"
15
+ :list =" flexDirectionList"
16
+ />
17
+ </css-item >
25
18
26
- <css-item label =" 主轴对齐" >
27
- <s-radio-group
28
- :value =" cssForm.display"
29
- :list =" justifyContentList"
30
- @change =" layoutStyleChange('display', $event)"
31
- />
32
- </css-item >
19
+ <css-item label =" 主轴对齐" >
20
+ <s-radio-group
21
+ v-model =" cssForm.justifyContent"
22
+ :list =" justifyContentList"
23
+ />
24
+ </css-item >
33
25
34
- <css-item label =" 辅轴对齐" >
35
- <s-radio-group
36
- :value =" cssForm.display"
37
- :list =" alignItemsList"
38
- @change =" layoutStyleChange('display', $event)"
39
- />
40
- </css-item >
26
+ <css-item label =" 辅轴对齐" >
27
+ <s-radio-group v-model =" cssForm.alignItems" :list =" alignItemsList" />
28
+ </css-item >
41
29
42
- <css-item label =" 换行" >
43
- <s-radio-group
44
- :value =" cssForm.display"
45
- :list =" flexWrapList"
46
- @change =" layoutStyleChange('display', $event)"
47
- />
48
- </css-item >
30
+ <css-item label =" 换行" >
31
+ <s-radio-group v-model =" cssForm.flexWrap" :list =" flexWrapList" />
32
+ </css-item >
33
+ </div >
49
34
50
35
<css-item >
51
- <size />
36
+ <size :size = " cssForm.size " />
52
37
</css-item >
53
38
</div >
54
39
</template >
@@ -62,12 +47,16 @@ export default {
62
47
CssItem,
63
48
SRadioGroup,
64
49
BoxModel,
65
- Size,
50
+ Size
66
51
},
67
52
data () {
68
53
return {
69
54
cssForm: {
70
55
display: ' ' ,
56
+ flexDirection: ' ' ,
57
+ justifyContent: ' ' ,
58
+ alignItems: ' ' ,
59
+ flexWrap: ' ' ,
71
60
boxModelForm: {
72
61
margin_top: ' ' ,
73
62
margin_bottom: ' ' ,
@@ -88,77 +77,77 @@ export default {
88
77
{
89
78
label: ' 内联布局 inline' ,
90
79
icon: ' 内联' ,
91
- value: ' inline' ,
80
+ value: ' inline'
92
81
},
93
82
{
94
83
label: ' 弹性布局 flex' ,
95
84
icon: ' 弹性' ,
96
- value: ' flex' ,
85
+ value: ' flex'
97
86
},
98
87
{
99
88
label: ' 块级布局 block' ,
100
89
icon: ' 块级' ,
101
- value: ' block' ,
90
+ value: ' block'
102
91
},
103
92
{
104
93
label: ' 行内块级 inline-block' ,
105
94
icon: ' 行内块' ,
106
- value: ' inline-block' ,
95
+ value: ' inline-block'
107
96
},
108
97
{
109
98
label: ' 隐藏' ,
110
99
icon: ' 隐藏' ,
111
- value: ' none' ,
100
+ value: ' none'
112
101
}
113
102
],
114
103
flexDirectionList: [
115
104
{
116
105
label: ' row' ,
117
106
icon: ' 水平' ,
118
- value: ' row' ,
107
+ value: ' row'
119
108
},
120
109
{
121
110
label: ' column' ,
122
111
icon: ' 垂直' ,
123
- value: ' column' ,
112
+ value: ' column'
124
113
},
125
114
{
126
115
label: ' row-reverse' ,
127
116
icon: ' 逆水平' ,
128
- value: ' row-reverse' ,
117
+ value: ' row-reverse'
129
118
},
130
119
{
131
120
label: ' column-reverse' ,
132
121
icon: ' 逆垂直' ,
133
- value: ' column-reverse' ,
122
+ value: ' column-reverse'
134
123
}
135
124
],
136
125
justifyContentList: [
137
126
{
138
127
label: ' flex-start' ,
139
128
icon: ' 左对' ,
140
- value: ' flex-start' ,
129
+ value: ' flex-start'
141
130
},
142
131
{
143
132
label: ' flex-end' ,
144
133
icon: ' 右对' ,
145
- value: ' flex-end' ,
134
+ value: ' flex-end'
146
135
},
147
136
{
148
137
label: ' center' ,
149
138
icon: ' 中心' ,
150
- value: ' center' ,
139
+ value: ' center'
151
140
},
152
141
{
153
142
label: ' space-between' ,
154
143
icon: ' 两端' ,
155
- value: ' space-between' ,
144
+ value: ' space-between'
156
145
},
157
146
{
158
147
label: ' space-around' ,
159
148
icon: ' 横向平' ,
160
- value: ' space-around' ,
161
- },
149
+ value: ' space-around'
150
+ }
162
151
],
163
152
alignItemsList: [
164
153
{
@@ -213,8 +202,15 @@ export default {
213
202
}
214
203
},
215
204
boxModelChange () {}
205
+ },
206
+ watch: {
207
+ cssForm: {
208
+ handler : function (val , oldVal ) {
209
+ this .$emit (' change' , this .cssForm );
210
+ },
211
+ deep: true
212
+ }
216
213
}
217
214
};
218
215
</script >
219
- <style lang="scss" scoped>
220
- </style >
216
+ <style lang="scss" scoped></style >
0 commit comments