R01. 2021-08-27 17:26 采纳率: 66.7%
浏览 55
已结题

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

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


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('请选择!')
}
  • 写回答

3条回答 默认 最新

  • 关注

    大致类似这样

    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('请选择!')
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • summerago 2021-08-27 17:30
    关注

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

    评论
  • 前端-海鸟 2021-08-27 17:39
    关注
    
    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('请选择!')
    }
    
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
  • ¥15 开地址法双散列函数处理碰撞
  • ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
  • ¥15 联通光猫掉注册了怎么重新注册上去
  • ¥15 关于unity开发steamvr程序遇到的问题
  • ¥60 求tc downloader的下载方式
  • ¥15 华为 快捷方式 手电筒 接口
  • ¥15 Qt6.5支不支持Android13开发啊
  • ¥20 网络只能跑一半,应该如何设置
  • ¥20 Python调用百度开发者平台人脸识别接口