methods: { selectstaff(facultyId) { if (facultyId) { selectstaff({ facultyId }).then(response => { this.staffNumber = response.data; }); } else { this.staffNumber = []; } }, /** 查询一级审核人员管理列表 */ getList() { // 调用获取学院信息和员工编号信息的方法 this.selectfaculty(); this. selectstaff(this.form.facultyId); }, change_faculty() { this.selectstaff(this.form.facultyId); // pass the selected faculty id as an argument this.form.firstStaffNumber = []; // reset the first staff number when faculty changes this.form.firstStaffName = []; // reset the first staff name when faculty changes }, change_selsect(){ // console.log("jinlai") for(const staffss of this.staffNumber){ // console.log(staffss.staffNumber+"aaa") if(staffss.staffNumber==this.form.firstStaffNumber){ this.form.firstStaffName = staffss.staffName } } },以上这段代码在选择学院时一级审核人员工号依旧获得全部的
时间: 2024-02-14 20:04:31 浏览: 63
根据你提供的代码,我需要更多的信息来确定问题的具体原因。但是根据你的描述,这可能是因为在 `this.selectstaff` 方法中没有正确传递 `facultyId` 参数。
在 `getList` 方法中,你首先调用了 `selectfaculty` 方法,然后再调用 `selectstaff` 方法。但是,你没有等待 `selectfaculty` 方法完成,就立即调用了 `selectstaff` 方法,并且传递了 `this.form.facultyId` 参数。如果 `selectfaculty` 方法不是同步的,那么它可能尚未完成,因此 `this.form.facultyId` 可能仍然是 `undefined`。如果 `facultyId` 为 `undefined`,那么 `selectstaff` 方法将无法正确地获取员工编号信息。
为了解决这个问题,你可以将 `selectstaff` 方法包装在一个 Promise 中,并使用 async/await 或者 Promise.then() 等方式等待返回结果。另外,你还需要确保 `this.form.facultyId` 有正确的值。
以下是一种可能的解决方法:
```javascript
methods: {
async selectstaff(facultyId) {
if (facultyId) {
try {
const response = await selectstaff({ facultyId });
this.staffNumber = response.data;
} catch (error) {
console.error(error);
}
} else {
this.staffNumber = [];
}
},
async getList() {
try {
await this.selectfaculty();
await this.selectstaff(this.form.facultyId);
} catch (error) {
console.error(error);
}
},
change_faculty() {
this.selectstaff(this.form.facultyId);
this.form.firstStaffNumber = [];
this.form.firstStaffName = [];
},
change_select() {
for (const staffss of this.staffNumber) {
if (staffss.staffNumber == this.form.firstStaffNumber) {
this.form.firstStaffName = staffss.staffName;
}
}
},
},
```
在这个解决方法中,`selectstaff` 方法和 `getList` 方法都使用了 async/await 语法来等待异步操作的完成。如果出现错误,它们将打印错误消息。另外,在 `change_faculty` 方法中,我还重置了 `this.form.firstStaffNumber` 和 `this.form.firstStaffName`,以确保它们在学院选择更改时被正确重置。
希望这可以帮助你解决问题。如果你仍然遇到问题,请提供更多的细节和代码。
阅读全文