value属性、v-model属性类型错误

1、报错

[Vue warn]: Invalid prop: type check failed for prop "value". Expected Number with value 4.7, got String with value "4.7".

2、报错原因

(1)、后台返回的数据,是String类型的,而组件Rate要求的v-model或者value属性的值为number型,使用v-model.number并不适用这种情况,

3、解决方法:

使用js提供的方法parseFloat()方法,如下:

出现这个错误的原因是因为 `v-model` 指令默认会将 checkbox 的值绑定为布尔类型,而在你的代码中,`totalCheck` 变量的类型可能是字符串类型,导致类型不匹配的错误。解决这个问题的方法有两种: 1. 将 `totalCheck` 变量的类型改为布尔类型,这样就可以直接将其与 checkbox 的状态进行双向绑定: ```html <template> <div> <input type="checkbox" id="my-checkbox" v-model="totalCheck"> <label for="my-checkbox">Check me out</label> </div> </template> <script> export default { data() { return { totalCheck: false // 将变量类型改为布尔类型 } } } </script> ``` 2. 如果你需要将 checkbox 的状态绑定到一个字符串类型的变量上,可以使用 `:value` 和 `@change` 两个属性来手动绑定 checkbox 的值和状态改变事件: ```html <template> <div> <input type="checkbox" id="my-checkbox" :value="isChecked" @change="handleChange"> <label for="my-checkbox">Check me out</label> </div> </template> <script> export default { data() { return { isChecked: 'false' // 将变量类型改为字符串类型 } }, methods: { handleChange(event) { this.isChecked = event.target.checked ? 'true' : 'false' } } } </script> ``` 在上面的代码中,我们通过 `:value` 属性将 checkbox 的值绑定到 `isChecked` 变量上,并且使用 `@change` 属性监听 checkbox 的状态改变事件。在事件处理函数中,我们将 checkbox 的布尔值状态转换为字符串类型,并将其赋值给 `isChecked` 变量。这样,就可以将 checkbox 的状态与字符串类型的变量进行双向绑定了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值