vue的v-model不支持null或者undefined类型?

vue3,ts,用select组件,类似下面的代码

<el-select
  v-model="searchValue.select" /> // 这里提示类型不匹配
const searchValue = reactive({select: null})

因为最开始select就是没有选择某一项,也没有默认项,只能是null.但是v-model有提示,怎么解决?

阅读 5.8k
2 个回答

你换用undefined应该就可以了。

在ant-design-vue中的select组件有这么一段话:
image.png

而且你这里这个位置表示应该是初始值缺失,还没有被赋予初始值;null是一个空指针对象,一般表示值为空,0值等,与此处尚未有初始值的含义是不同的。

使用"" 或者 [] 为默认值就好了,因为在使用 v-model 时,如果 propsvalue 属性声明了 required:true,外部传入的值为 null 时,就无法通过类型检查。

这是从V2开始就有的校验 No warning when string property value is null,早些时候我自己写的组件使用双向绑定时也会提示类型错误,当时还专门记了篇笔记

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题