update Cascader

update Cascader
This commit is contained in:
梁灏 2017-01-04 15:01:58 +08:00
parent ba3e34e087
commit 3b00586338
3 changed files with 65 additions and 1 deletions

View file

@ -141,6 +141,7 @@
emitValue (val, oldVal) { emitValue (val, oldVal) {
if (JSON.stringify(val) !== oldVal) { if (JSON.stringify(val) !== oldVal) {
this.$emit('on-change', this.value, JSON.parse(JSON.stringify(this.selected))); this.$emit('on-change', this.value, JSON.parse(JSON.stringify(this.selected)));
this.$dispatch('on-form-change', this.value, JSON.parse(JSON.stringify(this.selected)));
} }
} }
}, },
@ -168,6 +169,12 @@
if (lastValue && !fromInit) { if (lastValue && !fromInit) {
this.handleClose(); this.handleClose();
} }
},
'on-form-blur' () {
return false;
},
'on-form-change' () {
return false;
} }
}, },
watch: { watch: {

View file

@ -3,6 +3,7 @@
.@{cascader-prefix-cls} { .@{cascader-prefix-cls} {
position: relative; position: relative;
line-height: normal;
.@{css-prefix}input{ .@{css-prefix}input{
display: block; display: block;

View file

@ -155,6 +155,9 @@
<form-item label="两个日期" prop="date2"> <form-item label="两个日期" prop="date2">
<Date-picker :value.sync="form.date2" type="daterange" placement="bottom-start" placeholder="选择日期" @on-change="c"></Date-picker> <Date-picker :value.sync="form.date2" type="daterange" placement="bottom-start" placeholder="选择日期" @on-change="c"></Date-picker>
</form-item> </form-item>
<form-item label="级联" prop="cascader">
<Cascader :data="data" :value.sync="form.cascader"></Cascader>
</form-item>
<form-item> <form-item>
<i-button type="primary" @click="onSubmit('form')">提交</i-button> <i-button type="primary" @click="onSubmit('form')">提交</i-button>
</form-item> </form-item>
@ -166,6 +169,53 @@
props: {}, props: {},
data () { data () {
return { return {
data: [{
value: 'beijing',
label: '北京',
children: [
{
value: 'gugong',
label: '故宫'
},
{
value: 'tiantan',
label: '天坛'
},
{
value: 'wangfujing',
label: '王府井'
}
]
}, {
value: 'jiangsu',
label: '江苏',
children: [
{
value: 'nanjing',
label: '南京',
children: [
{
value: 'fuzimiao',
label: '夫子庙',
}
]
},
{
value: 'suzhou',
label: '苏州',
children: [
{
value: 'zhuozhengyuan',
label: '拙政园',
},
{
value: 'shizilin',
label: '狮子林',
}
]
}
],
}],
cityList: [ cityList: [
{ {
value: 'beijing', value: 'beijing',
@ -202,7 +252,8 @@
selectm: [], selectm: [],
slider: [40, 50], slider: [40, 50],
date: '', date: '',
date2: '' date2: '',
cascader: []
}, },
rules: { rules: {
mail: [ mail: [
@ -272,6 +323,11 @@
} }
} }
} }
],
cascader: [
{
type: 'array', required: true
}
] ]
} }
} }