Commit 3ad47566a451f3a4231eeac9752edcd24c38d1e3
1 parent
8df36a0a
update Select
update Select
Showing
3 changed files
with
60 additions
and
2 deletions
Show diff stats
src/components/select/select.vue
... | ... | @@ -310,8 +310,13 @@ |
310 | 310 | value: value, |
311 | 311 | label: label |
312 | 312 | }); |
313 | + this.$dispatch('on-form-change', { | |
314 | + value: value, | |
315 | + label: label | |
316 | + }); | |
313 | 317 | } else { |
314 | 318 | this.$emit('on-change', value); |
319 | + this.$dispatch('on-form-change', value); | |
315 | 320 | } |
316 | 321 | } |
317 | 322 | } |
... | ... | @@ -340,8 +345,10 @@ |
340 | 345 | if (!init) { |
341 | 346 | if (this.labelInValue) { |
342 | 347 | this.$emit('on-change', hybridValue); |
348 | + this.$dispatch('on-form-change', hybridValue); | |
343 | 349 | } else { |
344 | 350 | this.$emit('on-change', value); |
351 | + this.$dispatch('on-form-change', value); | |
345 | 352 | } |
346 | 353 | } |
347 | 354 | } | ... | ... |
src/styles/components/form.less
test/routers/form.vue
... | ... | @@ -50,6 +50,16 @@ |
50 | 50 | </Checkbox> |
51 | 51 | </Checkbox-group> |
52 | 52 | </form-item> |
53 | + <form-item label="select" prop="select"> | |
54 | + <i-select :model.sync="form.select" style="width:200px" clearable> | |
55 | + <i-option v-for="item in cityList" :value="item.value">{{ item.label }}</i-option> | |
56 | + </i-select> | |
57 | + </form-item> | |
58 | + <form-item label="select多选" prop="selectm"> | |
59 | + <i-select :model.sync="form.selectm" multiple style="width:260px"> | |
60 | + <i-option v-for="item in cityList" :value="item.value">{{ item.label }}</i-option> | |
61 | + </i-select> | |
62 | + </form-item> | |
53 | 63 | <form-item> |
54 | 64 | <i-button type="primary" @click="onSubmit('form')">提交</i-button> |
55 | 65 | </form-item> |
... | ... | @@ -61,12 +71,40 @@ |
61 | 71 | props: {}, |
62 | 72 | data () { |
63 | 73 | return { |
74 | + cityList: [ | |
75 | + { | |
76 | + value: 'beijing', | |
77 | + label: '北京市' | |
78 | + }, | |
79 | + { | |
80 | + value: 'shanghai', | |
81 | + label: '上海市' | |
82 | + }, | |
83 | + { | |
84 | + value: 'shenzhen', | |
85 | + label: '深圳市' | |
86 | + }, | |
87 | + { | |
88 | + value: 'hangzhou', | |
89 | + label: '杭州市' | |
90 | + }, | |
91 | + { | |
92 | + value: 'nanjing', | |
93 | + label: '南京市' | |
94 | + }, | |
95 | + { | |
96 | + value: 'chongqing', | |
97 | + label: '重庆市' | |
98 | + } | |
99 | + ], | |
64 | 100 | form: { |
65 | 101 | mail: '', |
66 | 102 | passwd: '', |
67 | 103 | single: false, |
68 | 104 | group: '', |
69 | - checkboxgroup: [] | |
105 | + checkboxgroup: [], | |
106 | + select: '', | |
107 | + selectm: [] | |
70 | 108 | }, |
71 | 109 | rules: { |
72 | 110 | mail: [ |
... | ... | @@ -97,6 +135,19 @@ |
97 | 135 | { |
98 | 136 | required: true, message: '至多选择3个', max: 3, type: 'array' |
99 | 137 | } |
138 | + ], | |
139 | + select: [ | |
140 | + { | |
141 | + required: true | |
142 | + } | |
143 | + ], | |
144 | + selectm: [ | |
145 | + { | |
146 | + required: true, type: 'array' | |
147 | + }, | |
148 | + { | |
149 | + min: 2, type: 'array' | |
150 | + } | |
100 | 151 | ] |
101 | 152 | } |
102 | 153 | } | ... | ... |