要判断每次输入的 this.form.predictAfterGuestRoomRetrofitOneRp
是否相等,你可以在组件的 data 中保存上一次的输入值,然后在 validateNumberTwo 函数中进行比较。如果两次输入值相同,则不执行后续操作。以下是一个示例代码:
data() {
return {
lastPredictAfterGuestRoomRetrofitOneRp: null, // 保存上次输入的值
};
},
methods: {
validateNumberTwo(rule, value, callback) {
const reg = /^[1-9]\d*(\.\d{1,2})?$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error("请输入大于0且最多保留两位小数的数字"));
}
if (value === this.lastPredictAfterGuestRoomRetrofitOneRp) {
// 如果当前输入值与上一次输入值相同,不执行后续操作
return;
}
this.lastPredictAfterGuestRoomRetrofitOneRp = value; // 更新保存的值
if (
this.form.predictAfterGuestRoomRetrofitOneRp > 0 &&
this.form.predictAfterGuestRoomRetrofitTwoRp > 0
) {
biddingRPCalculate({
applicationNo: this.applicationNo,
scrollOneYearOvernightAdr: this.form.actualNightAdr,
predictAfterGuestRoomRetrofitOneRp:
this.form.predictAfterGuestRoomRetrofitOneRp,
predictAfterGuestRoomRetrofitTwoRp:
this.form.predictAfterGuestRoomRetrofitTwoRp,
currentBudgetGuestRoomRp: this.form.budgetRevpar,
scrollOneYearOvernightOccupancyRate: this.form.actualNightOcc,
targetVal: this.form.targetVal,
}).then((resolve) => {
console.log(resolve, "duhao____22222333");
});
}
},
}
这样,在 validateNumberTwo 函数中,先判断当前输入值与上一次输入值是否相同,如果相同则直接返回;否则更新保存的最后一个值,并继续执行后续逻辑。
内容由零声教学AI助手提供,问题来源于学员提问