el-select回显数据,本来应该显示label的值,结果显示的是id值

今天遇到了,el-select渲染页面回显数据时没有显示文字,而是显示了id。

原因是:因为渲染的数据下拉选框对应的key数据类型不一致
下拉选框调的后端接口,返回的id时数字类型的,
回显数据对应的id值是字符串类型的

解决方法:在调基本信息的接口中将回显的数据的数据类型转成数字类型

this.shopBasicInfo.platformHospitalId = parseInt(data.platformHospitalId)

将字符串转成数字的方法:
1.parseInt()
解析一个字符串并返回一个整数。允许空格。仅返回第一个数字。

myString = '129' 
console.log(parseInt(myString)) // expected result: 129
 
a = 12.22
console.log(parseInt(a)) // expected result: 12
a = "123567a567px";
//调用parseInt()函数将a转换为Number
/*
 * parseInt()可以将一个字符串中的有效的整数内容去出来,
 *     然后转换为Number
 */

2.Number()
字符串–>数字
1).如果是纯数字的字符串,则直接将其转换为数字
2).如果字符串中有非数字的内容,则转换为NaN
3).如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
布尔 --> 数字
true 转成 1
false 转成 0
null --> 数字 0
undefined --> 数字 NaN

Number("10"); // returns 10Number(" 10 "); // returns 10Number("10.33"); // returns 10.33

3.使用一元运算符 (+)

const x = 25;
const y = -25;
console.log(+x); // expected output: 25
console.log(+y); // expected output: -25
console.log(+''); // expected output: 0

4.使用parseFloat()
解析一个字符串并返回一个数字。允许空格。仅返回第一个数字。

parseFloat("10");        // returns 10
parseFloat("10.33");     // returns 10.33
parseFloat("10 20 30");  // returns 10
parseFloat("10 years");  // returns 10
parseFloat("years 10");  // returns NaN

5.乘以数字
将字符串值乘以1不会改变值,并且默认情况下它会转换为数字。

str = '2344'
console.log(str * 1) // expected result: 2344

6.双波浪号 (~~) 运算符

str = '1234'
console.log(~~str) // expected result: 1234
negStr = '-234'
console.log(~~negStr) // expected result: -234
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值