起因
我们有部门,单位,传的是id,但是页面不管显示,还是回写,新增都要展示单位名/部门名。这个其实是前端的事情,但是我目前是前端也是我做,我们使用的是vue3,这个问题用List可能不好解决,但是用Map就解决了。
解决
作为一个全栈开发工程师,这个问题肯定是要解决的啦~
vue
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="单位名称" prop="companyId">
<el-select v-model="dataForm.companyId" placeholder="请选择单位" @change="loadDepartments">
<el-option
v-for="(company, index) in this.companyList "
:key="index"
:label="company[1]"
:value="company[0]"
/>
</el-select>
</el-form-item>
<el-form-item label="部门名称" prop="departmentId">
<el-select v-model="dataForm.departmentId" placeholder="请选择部门">
<el-option
v-for="(department, index) in this.departmentList"
:key="index"
:label="department[1]"
:value="department[0]"
/>
</el-select>
</el-form-item>
vue
this.companyList = data.page.list.map(company => [company.id, company.name])
OK,完美解决这个问题。
结束语
在软件开发的道路上,遇到问题是很正常的事情。解决问题的过程中,充分发挥了作为全栈开发工程师的多面能力,不仅仅是前端技术,还有参数传递。
干就完事了!