欢迎关注csdn前端领域博主: 前端小王hs
email: 337674757@qq.com
前端交流群: 598778642
vue3报错:runtime-core.esm-bundler.js:38 [Vue warn]: Invalid prop: type check failed for prop “modelValue”. Expected Boolean, got Object
at
警告的大意是绑定的函数期待得到的是布尔值,但得到的是一个对象
警告原因就是v-model绑定的函数获得的值是一个对象,这个问题一般出现在bus传值或者其他传值方式
逻辑分析:
①el-dialog(不一定是dialog组件)绑定了一个函数
②在script中对函数名进行了定义
③通过bus对这个函数名进行传值
问题出在:
④需要把函数名的.value值设为true
如果没有设置ture,而是把子组件传过来的值(obj类型)赋值给函数名的.vlaue,则会报错
伪代码示意如下:
<tempalte>
//绑定函数
<el-dialog :function='function' />
</template>
<script setup>
//接受子组件的传值
//问题出在是function.value = e 则报错
bus.on('function', (e) => {
function.value = true
)}
//对函数进行定义
const function = ref()
</script>
搜过其他同类的问题,但这个 Expected Boolean, got Object 问题应该还是算比较新的问题
其他同类的是 期待获得object类型,但得到的是string,诸如此类这里不在叙述,一般都是定义的函数没有写对类型或者赋值没写好类型导致