if (this.ruleForm.employmentDate) { if (this.ruleForm.seniorityDate) { let d = this.diffDate(new Date(this.ruleForm.employmentDate), new Date(this.ruleForm.seniorityDate)); this.ruleForm.seniority = d[0] + '年' + d[1] + '月'; } else { // this.ruleForm.seniority = this.diffDate(new Date(this.ruleForm.employmentDate), new Date()) } } 这段代码中this.ruleForm.seniority在符合条件的情况下赋值失败
时间: 2024-02-03 21:14:17 浏览: 61
在代码中,当 `this.ruleForm.employmentDate` 有值时,会进入第一个判断条件,判断 `this.ruleForm.seniorityDate` 是否有值。如果 `this.ruleForm.seniorityDate` 有值,则会调用 `this.diffDate()` 方法计算两个日期之间的年份和月份,并将结果赋值给 `this.ruleForm.seniority`。但是,如果 `this.ruleForm.seniorityDate` 不存在,那么 `this.ruleForm.seniority` 并没有被赋值,因此符合条件时赋值失败。
在这种情况下,你需要在 `else` 分支中对 `this.ruleForm.seniority` 进行赋值。可以使用类似于第一个分支的方式,计算出当前日期和 `this.ruleForm.employmentDate` 之间的年份和月份,并将结果赋值给 `this.ruleForm.seniority`。代码示例:
```
if (this.ruleForm.employmentDate) {
if (this.ruleForm.seniorityDate) {
let d = this.diffDate(new Date(this.ruleForm.employmentDate), new Date(this.ruleForm.seniorityDate));
this.ruleForm.seniority = d[0] + '年' + d[1] + '月';
} else {
let d = this.diffDate(new Date(this.ruleForm.employmentDate), new Date());
this.ruleForm.seniority = d[0] + '年' + d[1] + '月';
}
}
```
这样,当 `this.ruleForm.seniorityDate` 不存在时,就会使用当前日期计算出工龄,并将结果赋值给 `this.ruleForm.seniority`。
阅读全文