假定deptList的值:
- deptList:[
- {deptName: 'aaa', releaseType: '1'},
- {deptName: 'bbb', releaseType: '2'},
- {deptName: 'ccc', releaseType: '3'},
- ]
this.deptMap = deptList.map(item => ({ label: item.deptName, value: item.releaseType }));
-
- this.deptMap = deptList.map(dept => {
- let aa = 1;
- let includeOne = dept.releaseType.includes(aa.toString());
- if (includeOne) {
- return { label: dept.deptName, value: dept.deptId };
- }
- });
重点: 有个问题很严重,当includeOne=false时会返回一个undefined给map中,就会造成你引用deptMap的地方一旦取值就会抛异常,页面无法正常显示,debugger能看到除了满足releaseType包含 '1'的map外,还包含有不满足的undefined ,因此一定要慎重选择
- this.deptMap = deptList.filter(dept => {
- return dept.releaseType.includes(this.form.releaseType.toString());
- }).map(dept => {
- return { label: dept.deptName, value: dept.deptId };
- });