Commit 04e5e3cd297abfb40d5306ffd49801c5c68ac717

Authored by 梁灏
1 parent 21dad188

prevent dispatch event

prevent dispatch event
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 },