Commit cc419499906a2321410e8a446ae690688ccd96a2
1 parent
d270488b
fixed #525
Showing
2 changed files
with
62 additions
and
15 deletions
Show diff stats
examples/routers/form.vue
| @@ -266,11 +266,11 @@ | @@ -266,11 +266,11 @@ | ||
| 266 | <template> | 266 | <template> |
| 267 | <div> | 267 | <div> |
| 268 | <Form ref="DateForm" :model="form" :rules="rules" :label-width="80" style="width: 400px;"> | 268 | <Form ref="DateForm" :model="form" :rules="rules" :label-width="80" style="width: 400px;"> |
| 269 | - <Form-item label="选择日期" prop="date"> | ||
| 270 | - <Date-picker v-model="form.date" type="datetime"></Date-picker> | 269 | + <Form-item label="选择日期" prop="value1"> |
| 270 | + <Cascader :data="form.data" v-model="form.value1"></Cascader> | ||
| 271 | </Form-item> | 271 | </Form-item> |
| 272 | <Form-item> | 272 | <Form-item> |
| 273 | - <Button type="primary" @click.native="handleClick">确定</Button> | 273 | + <Button type="primary" @click="handleClick">确定</Button> |
| 274 | </Form-item> | 274 | </Form-item> |
| 275 | </Form> | 275 | </Form> |
| 276 | </div> | 276 | </div> |
| @@ -280,12 +280,62 @@ | @@ -280,12 +280,62 @@ | ||
| 280 | data () { | 280 | data () { |
| 281 | return { | 281 | return { |
| 282 | form: { | 282 | form: { |
| 283 | - date: '' | 283 | + value1: [], |
| 284 | + data: [{ | ||
| 285 | + value: 'beijing', | ||
| 286 | + label: '北京', | ||
| 287 | + children: [ | ||
| 288 | + { | ||
| 289 | + value: 'gugong', | ||
| 290 | + label: '故宫' | ||
| 291 | + }, | ||
| 292 | + { | ||
| 293 | + value: 'tiantan', | ||
| 294 | + label: '天坛' | ||
| 295 | + }, | ||
| 296 | + { | ||
| 297 | + value: 'wangfujing', | ||
| 298 | + label: '王府井' | ||
| 299 | + } | ||
| 300 | + ] | ||
| 301 | + }, { | ||
| 302 | + value: 'jiangsu', | ||
| 303 | + label: '江苏', | ||
| 304 | + children: [ | ||
| 305 | + { | ||
| 306 | + value: 'nanjing', | ||
| 307 | + label: '南京', | ||
| 308 | + children: [ | ||
| 309 | + { | ||
| 310 | + value: 'fuzimiao', | ||
| 311 | + label: '夫子庙', | ||
| 312 | + } | ||
| 313 | + ] | ||
| 314 | + }, | ||
| 315 | + { | ||
| 316 | + value: 'suzhou', | ||
| 317 | + label: '苏州', | ||
| 318 | + children: [ | ||
| 319 | + { | ||
| 320 | + value: 'zhuozhengyuan', | ||
| 321 | + label: '拙政园', | ||
| 322 | + }, | ||
| 323 | + { | ||
| 324 | + value: 'shizilin', | ||
| 325 | + label: '狮子林', | ||
| 326 | + } | ||
| 327 | + ] | ||
| 328 | + } | ||
| 329 | + ], | ||
| 330 | + }] | ||
| 284 | }, | 331 | }, |
| 285 | rules: { | 332 | rules: { |
| 286 | - date: [ | ||
| 287 | - { required: true, type: 'date', message: '不能为空', trigger: 'change' }, | ||
| 288 | - { type: 'date', message: '日期格式不正确', trigger: 'change'} | 333 | + value1: [ |
| 334 | + { | ||
| 335 | + required: true, | ||
| 336 | + type: 'array', | ||
| 337 | + message: '没有填写' | ||
| 338 | + } | ||
| 289 | ] | 339 | ] |
| 290 | } | 340 | } |
| 291 | } | 341 | } |
| @@ -294,11 +344,6 @@ | @@ -294,11 +344,6 @@ | ||
| 294 | handleClick() { | 344 | handleClick() { |
| 295 | this.$refs.DateForm.validate(); | 345 | this.$refs.DateForm.validate(); |
| 296 | } | 346 | } |
| 297 | - }, | ||
| 298 | - watch: { | ||
| 299 | - 'form.date' (val) { | ||
| 300 | - console.log(val); | ||
| 301 | - } | ||
| 302 | } | 347 | } |
| 303 | } | 348 | } |
| 304 | </script> | 349 | </script> |
| 305 | \ No newline at end of file | 350 | \ No newline at end of file |
src/components/cascader/cascader.vue
| @@ -162,9 +162,11 @@ | @@ -162,9 +162,11 @@ | ||
| 162 | emitValue (val, oldVal) { | 162 | emitValue (val, oldVal) { |
| 163 | if (JSON.stringify(val) !== oldVal) { | 163 | if (JSON.stringify(val) !== oldVal) { |
| 164 | this.$emit('on-change', this.currentValue, JSON.parse(JSON.stringify(this.selected))); | 164 | this.$emit('on-change', this.currentValue, JSON.parse(JSON.stringify(this.selected))); |
| 165 | - this.dispatch('FormItem', 'on-form-change', { | ||
| 166 | - value: this.currentValue, | ||
| 167 | - selected: JSON.parse(JSON.stringify(this.selected)) | 165 | + this.$nextTick(() => { |
| 166 | + this.dispatch('FormItem', 'on-form-change', { | ||
| 167 | + value: this.currentValue, | ||
| 168 | + selected: JSON.parse(JSON.stringify(this.selected)) | ||
| 169 | + }); | ||
| 168 | }); | 170 | }); |
| 169 | } | 171 | } |
| 170 | } | 172 | } |