一:只能选择最后一个节点,并且单选
在弹窗中的级联选择器要显示名称name,发送请求的时候需要id,同时在table表格中展示的也是name,所以发送请求的时候需要两个参数,name和id
有两点要注意:1.级联选择器默认显示是路径 通过show-all-levels配置
2.级联选择器绑定的是数组,是一个路径,而发送请求的时候,name和id都是字符串,可以使用emitPath,只会使用最后节点的值
关于回显:
1.在props中的label和value绑定的都是name, v-model绑定的也是名称,这样就会回显成功,然后在级联选择器的选中事件中,调用级联选择器的获取选中节点的方法getCheckedNodes,将选中的节点的id绑定,这样发送请求的时候name和id都会作为参数,
使用treeChange来获取id是有问题的,因为搜索时不会触发treeChange方法,
解决方法:
在弹窗点击确认的时候,通过name,使用find方法来获取id
<el-cascader
v-model="formData.name"
props="{
label:'name'
value:'name'
children:'children'
emitPath:false
}"
@change="treeChange">
</el-cascader>
//方法:当树结构选中的时候触发
treeChange(){
const node = this.$refs.cascaderRef.getCheckNodes()
if(node){
this.formData.id = node[0].data.id }
}