如果后端的数据返回的不是 label、value、children,但是三层结构的数据都一样,可以通过props 设置更改label,value的字段,
value | 指定选项的值为选项对象的某个属性值 | string | — | — |
label |
但如果 三层的数据结构都不一样 ,像我们的项目这样,那只能手动把for循环把三层结构弄成一致。
还有接口那边是同时需要label和value的,但这个控件不像select能返回一个对象,网上搜了有很多用 currentLabels来获取,但这个属性2.7版本后就去掉了,打印了一下 getCheckedNodes方法返回的东西
只有一个Node节点的数组,但下面有pathNodes是个长度3的Node数组,每个Node下有对应的label和value。
console.log('labels0=>'+ nodes[0].pathNodes[0].label+''+nodes[0].pathNodes[0].value);
console.log('labels1=>'+ nodes[0].pathNodes[1].label+''+nodes[0].pathNodes[1].value);
console.log('labels2=>'+ nodes[0].pathNodes[2].label+''+nodes[0].pathNodes[2].value);
在change事件中打印了一下值,确实也是对的,这样的话感觉那个 v-model 绑定的值就有点多余了