vue结合element-ui开发编辑表单时,后端返回字段不一样,前端代码应该如何处理
时间: 2024-05-08 18:15:41 浏览: 92
vue+elementui 的管理后台源码稍微有些复杂
如果后端返回的字段和前端需要的字段不一样,可以考虑在前端进行一些字段映射的处理,例如:
1. 在组件中定义一个映射对象,将后端返回的字段名映射为前端需要的字段名。
```
data() {
return {
fieldMap: {
name: '姓名',
age: '年龄',
address: '地址'
},
formData: {}
}
}
```
2. 在接收到后端返回的数据时,遍历数据对象,将字段名进行映射,并将映射后的数据保存到组件的formData属性中。
```
axios.get('/api/user/1').then(res => {
const data = res.data
const formData = {}
for (const key in data) {
if (this.fieldMap[key]) {
formData[this.fieldMap[key]] = data[key]
}
}
this.formData = formData
})
```
3. 在表单中绑定formData中的字段即可。
```
<el-form :model="formData">
<el-form-item label="姓名" prop="姓名">
<el-input v-model="formData['姓名']"></el-input>
</el-form-item>
<el-form-item label="年龄" prop="年龄">
<el-input v-model="formData['年龄']"></el-input>
</el-form-item>
<el-form-item label="地址" prop="地址">
<el-input v-model="formData['地址']"></el-input>
</el-form-item>
</el-form>
```
阅读全文