//关于标题上的问题,可能用复杂了代码有点多,就是设置一个开关的方法。
再data里面为true,return的语句里面把它设置为false,再你使用的方法里判断这个开关如果为false那么就return不往下面执行
代码:
公用的方法里

          if (this.SXarray.findIndex(i => i.identifier === this.structForm.flag) !== -1 &&this.SxEnter == "添加") {
            **this.pdFlag = false**
            return this.$message.error("已经存在,请重新输入");
          }
            if (this.SXarray.findIndex(i => i.name === this.structForm.name) !== -1 &&this.SxEnter == "添加") {
              **this.pdFlag = false**
            return this.$message.error("名称已经存在,请重新输入");
          }

你用到上面函数的方法里

    oneSave(onesx){
        this.$refs[onesx].validate(valid => {
        if (valid) {
               this.pdFlag = true
               this.initSubmit()
                 console.log(this.pdFlag);
                 if(this.pdFlag!=false){
                    this.AddCS()
                 }
          this.Struct_dialogFormVisible = true;
        } else {
          return false;
        }
      });
    },

其中遇到点问题:是做添加并继续的功能,第一次添加了这些值在一个数组里已经有了这个值,这个弹窗不会关闭所以上面的值还是保留状态,如果用户再点击这值没有清空就会报return里面的错误,所以一直为false就不会为true,所以再调用提示方法的上面把这个标识设置为true,点击保存时为true,如果走到你调用的方法 this.initSubmit()为false那么就return不往下执行了。
完美解决

Logo

前往低代码交流专区

更多推荐