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,6 +5,9 @@ | ||
| 5 | <Form-item prop="date"> | 5 | <Form-item prop="date"> |
| 6 | <Date-picker type="date" placeholder="选择日期" v-model="formInline.date"></Date-picker> | 6 | <Date-picker type="date" placeholder="选择日期" v-model="formInline.date"></Date-picker> |
| 7 | </Form-item> | 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 | <Form-item prop="user"> | 11 | <Form-item prop="user"> |
| 9 | <Input v-model="formInline.user"> | 12 | <Input v-model="formInline.user"> |
| 10 | </Form-item> | 13 | </Form-item> |
| @@ -20,7 +23,55 @@ | @@ -20,7 +23,55 @@ | ||
| 20 | return { | 23 | return { |
| 21 | formInline: { | 24 | formInline: { |
| 22 | date: new Date(), | 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 | ruleInline: { | 76 | ruleInline: { |
| 26 | date: [ | 77 | date: [ |
| @@ -43,6 +94,14 @@ | @@ -43,6 +94,14 @@ | ||
| 43 | message: '请输入2', | 94 | message: '请输入2', |
| 44 | trigger: 'blur' | 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,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 | watch: { | 201 | watch: { |
| 211 | visible (val) { | 202 | visible (val) { |
| 212 | if (val) { | 203 | if (val) { |
src/components/input/input.vue
| @@ -152,7 +152,7 @@ | @@ -152,7 +152,7 @@ | ||
| 152 | }, | 152 | }, |
| 153 | handleBlur () { | 153 | handleBlur () { |
| 154 | this.$emit('on-blur'); | 154 | this.$emit('on-blur'); |
| 155 | - if (!findComponentUpward(this, ['DatePicker', 'TimePicker'])) { | 155 | + if (!findComponentUpward(this, ['DatePicker', 'TimePicker', 'Cascader'])) { |
| 156 | this.dispatch('FormItem', 'on-form-blur', this.currentValue); | 156 | this.dispatch('FormItem', 'on-form-blur', this.currentValue); |
| 157 | } | 157 | } |
| 158 | }, | 158 | }, |
| @@ -171,7 +171,7 @@ | @@ -171,7 +171,7 @@ | ||
| 171 | this.resizeTextarea(); | 171 | this.resizeTextarea(); |
| 172 | }); | 172 | }); |
| 173 | this.currentValue = value; | 173 | this.currentValue = value; |
| 174 | - if (!findComponentUpward(this, ['DatePicker', 'TimePicker'])) { | 174 | + if (!findComponentUpward(this, ['DatePicker', 'TimePicker', 'Cascader'])) { |
| 175 | this.dispatch('FormItem', 'on-form-change', value); | 175 | this.dispatch('FormItem', 'on-form-change', value); |
| 176 | } | 176 | } |
| 177 | }, | 177 | }, |