el-select接口返回结果应显示文本Name而不是数字Id解决方案
本人在编写页面跳转传递参数时,发现el-select界面显示id而不是我想要的Name。于是尝试了晚上几种方法后却无法解决,研究后发现是返回结果格式问题,便写下这篇避免读者踩坑。
问题
源代码
<el-form-item label="经手人" prop="userIds">
<el-select
class="form-item"
v-model="form.userIds"
placeholder="请选择">
<el-option
v-for="item in userOptions"
:key="item.userId"
:label="item.userName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item>
form: {
userIds: null
},
getReceipt(Receipt).then(response => {
this.form = response.data
})
经手人显示数字而不是名字
问题根因
我通过直接给this.form.userIds = 102,却能显示。
经过研究一下response.data的格式,发现response.data返回的是"102"格式,而不是102。
所以,我们要把"102"转为102,怎么转呢?JS的Number即可处理。
问题解决方案
getReceipt(Receipt).then(response => {
this.form = response.data
this.form.userIds = Number(response.data.userIds);
})
解决后
经手人正确显示名字
本文来自博客园,作者:KrityCat,转载请注明原文链接:https://www.cnblogs.com/KrityCat/p/18093014