判断多层数组(级联选择)有没有指定的值,然后进行赋值

只能想到这种方法,不知道有没有可以简写的方法


if(this.treeData[0].children[0].defaultChoose) {
  this.typeCodeRef = this.treeData[0].children[0].value
} else if(this.treeData[0].children[0].children[0].defaultChoose) {
  this.typeCodeRef = this.treeData[0].children[0].children[0].value
} else if(this.treeData[0].children[0].children[0].children[0].defaultChoose) {
  this.typeCodeRef = this.treeData[0].children[0].children[0].children[0].value
} else if(this.treeData[0].children[0].children[0].children[0].children[0].defaultChoose) {
  this.typeCodeRef = this.treeData[0].children[0].children[0].children[0].children[0].value
} else {
  this.$message('请选择!')
}

大致类似这样

var flag = false;
var obj = this.treeData[0];
while (obj.children) {
    obj = obj.children[0];
    if(obj.efaultChoose) {
        this.typeCodeRef = obj.value;
        flag = true;
        break;
    }
}
if(flag == false) {
  this.$message('请选择!')
}


无限套娃吗....
选中的值直接放到一个变量里,去判断变量里的值


var data = this.treeData[0].children[0];
function getValue(data){
  if(data.defaultChoose){
    return data.value
  }else if(data.children){
    return getValue(data.children)
  }else{
    return false
  }
};
var typeCodeRef = getValue(data);
if(typeCodeRef ){
  this.typeCodeRef  = typeCodeRef 
}else{
  this.$message('请选择!')
}