1. 问题:
el-select下拉框数据列表没有对应的数据,但后端把没有在下拉框的id数据传过来,导致数据回显时,部分显示不出来。
查看了后端返过来的数据,传了两个id,其中35不在下拉框数据列表当中的四条数据里,所以回显不出来
重点:需求要求把不在下拉框数据列表里的数据隐藏起来,但在传给后端时仍保留该数据传过去,即把id为35的传给后端
2. 解决:
后端返回的两条数据是字段prefectureCityVoList,将其取出id放在数组里,这两个id放进去数组就是[35, 37],传给字段prefectureCityIds,再把下拉框的四条数据的id放进数组字段PrefectureCityListIds里,即[36,37,41,42],再设计两个数组变量,把属于下拉框的数据放在字段isOperatorPrefectureCityIds的数组里,让该数据正常回显,把不属于下拉框的数据,比如id是35的放在字段noOperatorPrefectureCityIds数组里。
代码:
this.projectForm = this.$common.copy( data );
let prefectureCityIds = data.prefectureCityVoList.map(d => d.id)
let PrefectureCityListIds = this.PrefectureCityList.map(d => d.id)
this.noOperatorPrefectureCityIds = prefectureCityIds.filter(item => !PrefectureCityListIds.includes(item))
let isOperatorPrefectureCityIds = prefectureCityIds.filter(item => PrefectureCityListIds.includes(item))
this.$set(this.projectForm, 'prefectureCityIds', isOperatorPrefectureCityIds)
选择框的代码: