Commit 04e5e3cd297abfb40d5306ffd49801c5c68ac717
1 parent
21dad188
prevent dispatch event
prevent dispatch event
Showing
3 changed files
with
62 additions
and
12 deletions
Show diff stats
examples/routers/form.vue
... | ... | @@ -5,6 +5,9 @@ |
5 | 5 | <Form-item prop="date"> |
6 | 6 | <Date-picker type="date" placeholder="选择日期" v-model="formInline.date"></Date-picker> |
7 | 7 | </Form-item> |
8 | + <Form-item prop="value2"> | |
9 | + <Cascader :data="formInline.data" v-model="formInline.value2" change-on-select></Cascader> | |
10 | + </Form-item> | |
8 | 11 | <Form-item prop="user"> |
9 | 12 | <Input v-model="formInline.user"> |
10 | 13 | </Form-item> |
... | ... | @@ -20,7 +23,55 @@ |
20 | 23 | return { |
21 | 24 | formInline: { |
22 | 25 | date: new Date(), |
23 | - user: '' | |
26 | + user: '', | |
27 | + value2: [], | |
28 | + data: [{ | |
29 | + value: 'beijing', | |
30 | + label: '北京', | |
31 | + children: [ | |
32 | + { | |
33 | + value: 'gugong', | |
34 | + label: '故宫' | |
35 | + }, | |
36 | + { | |
37 | + value: 'tiantan', | |
38 | + label: '天坛' | |
39 | + }, | |
40 | + { | |
41 | + value: 'wangfujing', | |
42 | + label: '王府井' | |
43 | + } | |
44 | + ] | |
45 | + }, { | |
46 | + value: 'jiangsu', | |
47 | + label: '江苏', | |
48 | + children: [ | |
49 | + { | |
50 | + value: 'nanjing', | |
51 | + label: '南京', | |
52 | + children: [ | |
53 | + { | |
54 | + value: 'fuzimiao', | |
55 | + label: '夫子庙', | |
56 | + } | |
57 | + ] | |
58 | + }, | |
59 | + { | |
60 | + value: 'suzhou', | |
61 | + label: '苏州', | |
62 | + children: [ | |
63 | + { | |
64 | + value: 'zhuozhengyuan', | |
65 | + label: '拙政园', | |
66 | + }, | |
67 | + { | |
68 | + value: 'shizilin', | |
69 | + label: '狮子林', | |
70 | + } | |
71 | + ] | |
72 | + } | |
73 | + ], | |
74 | + }] | |
24 | 75 | }, |
25 | 76 | ruleInline: { |
26 | 77 | date: [ |
... | ... | @@ -43,6 +94,14 @@ |
43 | 94 | message: '请输入2', |
44 | 95 | trigger: 'blur' |
45 | 96 | } |
97 | + ], | |
98 | + value2: [ | |
99 | + { | |
100 | + required: true, | |
101 | + type: 'array', | |
102 | + message: '请输入', | |
103 | + trigger: 'change' | |
104 | + } | |
46 | 105 | ] |
47 | 106 | } |
48 | 107 | } | ... | ... |
src/components/cascader/cascader.vue
... | ... | @@ -198,15 +198,6 @@ |
198 | 198 | } |
199 | 199 | }); |
200 | 200 | }, |
201 | - // todo 事件 这是因为内部的input会触发,应该组织 | |
202 | -// events: { | |
203 | -// 'on-form-blur' () { | |
204 | -// return false; | |
205 | -// }, | |
206 | -// 'on-form-change' () { | |
207 | -// return false; | |
208 | -// } | |
209 | -// }, | |
210 | 201 | watch: { |
211 | 202 | visible (val) { |
212 | 203 | if (val) { | ... | ... |
src/components/input/input.vue
... | ... | @@ -152,7 +152,7 @@ |
152 | 152 | }, |
153 | 153 | handleBlur () { |
154 | 154 | this.$emit('on-blur'); |
155 | - if (!findComponentUpward(this, ['DatePicker', 'TimePicker'])) { | |
155 | + if (!findComponentUpward(this, ['DatePicker', 'TimePicker', 'Cascader'])) { | |
156 | 156 | this.dispatch('FormItem', 'on-form-blur', this.currentValue); |
157 | 157 | } |
158 | 158 | }, |
... | ... | @@ -171,7 +171,7 @@ |
171 | 171 | this.resizeTextarea(); |
172 | 172 | }); |
173 | 173 | this.currentValue = value; |
174 | - if (!findComponentUpward(this, ['DatePicker', 'TimePicker'])) { | |
174 | + if (!findComponentUpward(this, ['DatePicker', 'TimePicker', 'Cascader'])) { | |
175 | 175 | this.dispatch('FormItem', 'on-form-change', value); |
176 | 176 | } |
177 | 177 | }, | ... | ... |