当前位置: 首页 > 知识库问答 >
问题:

vue3+element-plus 使用 v-model 报错,有什么其他的改法吗?

冯敏达
2023-06-15

版本信息

"element-plus": "^2.3.6",
"vue": "^3.3.4",

报错信息

VueCompilerError: v-model cannot be used on a prop, because local prop bindings are not writable.
Use a v-bind binding combined with a v-on listener that emits update:x event instead.

报错代码

   |  <el-dialog
   |      v-model="show"
   |      ^^^^

根据上面的报错信息搜了一下,得到的原因大致如下:
image.png

但我觉得不应该这样改,因为 element-plus 文档上是支持 v-model 写法的

共有3个答案

禄和宜
2023-06-15

element-plus的dialog确实是支持v-model,但是v-model是双向数据绑定,而props是单向数据流,不允许你直接修改父组件来的数据,所以你要执意使用v-model,那就把show拷贝一份在使用

鞠边浩
2023-06-15

prop 是单向数据流,你这里只能用:model-value
除非你的 show 不是外部传入

罗法
2023-06-15

element-plus文档错误率挺多的,不一定靠得住。

改完能work就行,有那个能力就去拉下element-plus的源码看看就知道问题具体出在哪儿了

 类似资料: