Commit 3b005863389ce544cf09b2ed428d1e30284f6d10
1 parent
ba3e34e0
update Cascader
update Cascader
Showing
3 changed files
with
65 additions
and
1 deletions
Show diff stats
src/components/cascader/cascader.vue
| ... | ... | @@ -141,6 +141,7 @@ |
| 141 | 141 | emitValue (val, oldVal) { |
| 142 | 142 | if (JSON.stringify(val) !== oldVal) { |
| 143 | 143 | this.$emit('on-change', this.value, JSON.parse(JSON.stringify(this.selected))); |
| 144 | + this.$dispatch('on-form-change', this.value, JSON.parse(JSON.stringify(this.selected))); | |
| 144 | 145 | } |
| 145 | 146 | } |
| 146 | 147 | }, |
| ... | ... | @@ -168,6 +169,12 @@ |
| 168 | 169 | if (lastValue && !fromInit) { |
| 169 | 170 | this.handleClose(); |
| 170 | 171 | } |
| 172 | + }, | |
| 173 | + 'on-form-blur' () { | |
| 174 | + return false; | |
| 175 | + }, | |
| 176 | + 'on-form-change' () { | |
| 177 | + return false; | |
| 171 | 178 | } |
| 172 | 179 | }, |
| 173 | 180 | watch: { | ... | ... |
src/styles/components/cascader.less
test/routers/form.vue
| ... | ... | @@ -155,6 +155,9 @@ |
| 155 | 155 | <form-item label="两个日期" prop="date2"> |
| 156 | 156 | <Date-picker :value.sync="form.date2" type="daterange" placement="bottom-start" placeholder="选择日期" @on-change="c"></Date-picker> |
| 157 | 157 | </form-item> |
| 158 | + <form-item label="级联" prop="cascader"> | |
| 159 | + <Cascader :data="data" :value.sync="form.cascader"></Cascader> | |
| 160 | + </form-item> | |
| 158 | 161 | <form-item> |
| 159 | 162 | <i-button type="primary" @click="onSubmit('form')">提交</i-button> |
| 160 | 163 | </form-item> |
| ... | ... | @@ -166,6 +169,53 @@ |
| 166 | 169 | props: {}, |
| 167 | 170 | data () { |
| 168 | 171 | return { |
| 172 | + data: [{ | |
| 173 | + value: 'beijing', | |
| 174 | + label: '北京', | |
| 175 | + children: [ | |
| 176 | + { | |
| 177 | + value: 'gugong', | |
| 178 | + label: '故宫' | |
| 179 | + }, | |
| 180 | + { | |
| 181 | + value: 'tiantan', | |
| 182 | + label: '天坛' | |
| 183 | + }, | |
| 184 | + { | |
| 185 | + value: 'wangfujing', | |
| 186 | + label: '王府井' | |
| 187 | + } | |
| 188 | + ] | |
| 189 | + }, { | |
| 190 | + value: 'jiangsu', | |
| 191 | + label: '江苏', | |
| 192 | + children: [ | |
| 193 | + { | |
| 194 | + value: 'nanjing', | |
| 195 | + label: '南京', | |
| 196 | + children: [ | |
| 197 | + { | |
| 198 | + value: 'fuzimiao', | |
| 199 | + label: '夫子庙', | |
| 200 | + } | |
| 201 | + ] | |
| 202 | + }, | |
| 203 | + { | |
| 204 | + value: 'suzhou', | |
| 205 | + label: '苏州', | |
| 206 | + children: [ | |
| 207 | + { | |
| 208 | + value: 'zhuozhengyuan', | |
| 209 | + label: '拙政园', | |
| 210 | + }, | |
| 211 | + { | |
| 212 | + value: 'shizilin', | |
| 213 | + label: '狮子林', | |
| 214 | + } | |
| 215 | + ] | |
| 216 | + } | |
| 217 | + ], | |
| 218 | + }], | |
| 169 | 219 | cityList: [ |
| 170 | 220 | { |
| 171 | 221 | value: 'beijing', |
| ... | ... | @@ -202,7 +252,8 @@ |
| 202 | 252 | selectm: [], |
| 203 | 253 | slider: [40, 50], |
| 204 | 254 | date: '', |
| 205 | - date2: '' | |
| 255 | + date2: '', | |
| 256 | + cascader: [] | |
| 206 | 257 | }, |
| 207 | 258 | rules: { |
| 208 | 259 | mail: [ |
| ... | ... | @@ -272,6 +323,11 @@ |
| 272 | 323 | } |
| 273 | 324 | } |
| 274 | 325 | } |
| 326 | + ], | |
| 327 | + cascader: [ | |
| 328 | + { | |
| 329 | + type: 'array', required: true | |
| 330 | + } | |
| 275 | 331 | ] |
| 276 | 332 | } |
| 277 | 333 | } | ... | ... |