zhaoyu2020
zhaoyu2020
  • 发布:2024-12-31 11:32
  • 更新:2024-12-31 11:38
  • 阅读:116

radio checkbox 报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 4.43

手机系统: Android

手机系统版本号: Android 15

手机厂商: 三星

手机机型: 58

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<radio :value="sitem.id" />
<checkbox :value="sitem.id" />

操作步骤:

只要id 是number 就会报错

预期结果:

只要id 是number 就会报错

实际结果:

只要id 是number 就会报错

bug描述:

Invalid prop: type check failed for prop "value". Expected String with value "548", got Number with value 548.

<radio :value="sitem.id" />
<checkbox :value="sitem.id" />
只要id 是number 就会报错

2024-12-31 11:32 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

文档上有属性的类型只能是String 你用number肯定会报错的啊
错误信息都提示了 让你用String类型的

改下类型就可以了  
<radio :value="String(sitem.id)" />  
<radio :value="sitem.id+''" />
  • zhaoyu2020 (作者)

    我就很奇怪 他为什么只能用String

    2024-12-31 11:49

  • zhaoyu2020 (作者)

    谢谢你的帮助

    2024-12-31 11:57

  • 爱豆豆

    回复 zhaoyu2020: 应该是原生组件的原因 就像html中的radio只能用String

    2024-12-31 13:41

  • zhaoyu2020 (作者)

    回复 爱豆豆: uniapp 是转编译的 他完成可以兼容number 然后在组件内进行判断,他不这样做的话 ,我们使用组件会非常的麻烦

    2025-01-13 10:09

  • zhaoyu2020 (作者)

    而且我觉得checkbox group 这个组件也有待优化 缺少了一个v-model 需要我们去做更多的东西

    2025-01-13 10:11

  • 爱豆豆

    回复 zhaoyu2020: 是这样啊 但是实际是uniapp并没帮你转 文档也是这么写的

    你可以二次封装一下 输入时number转String 输出时String在转回number

    2025-01-13 10:20

  • zhaoyu2020 (作者)

    回复 爱豆豆: 确实需要再封装一下 而且需要给 group 加个语法糖 不然实在太麻烦了

    2025-01-13 10:23

要回复问题请先登录注册