要解决的3个问题
问题1. 通过vue 的el-cascader组件,如何获取到级联值的信息?
1.1 可以选则多个级联选项的情况 【多选】
1.2 单选的情况
问题2. 如何回显信息?
问题3. 多选情况下,如何限制最大可选择的个数
问题1,2 的解决方案可以看上篇噢点这里直接跳转~
问题3的解决方案,话不多说直接上代码
<div class="my-form-row">
<el-form-item class="profession" prop="speciality">
<el-cascader ref="mycascader" @change="changeCasc" v-model="form.speciality" :options="specialityList" :props="deptsProps" clearable style="width: 504px;"></el-cascader>
</el-form-item>
</div>
js
data(){
// cascader 属性
deptsProps: {
value: "code",
label: "name",
children: 'children', //子元素字段名
multiple: true,
expandTrigger: 'hover',
},
form:{
speciality:[]
},
specialityList: [], // 申请专业列表[从后端获取的数据,并处理成树形结构的列表]
}
我们这里就是直接简单粗暴,用watch监听el-cascader双向绑定的值
具体的如下
watch:{
'form.speciality':{
deep:true,
handler(newValue,oldValue){
if(newValue.length>5){
this.$message.error("最多只支持选择5项")
this.$nextTick(()=>{
this.form.speciality=oldValue
})
}
}
}
},